sql >> Database teknologi >  >> RDS >> Mysql

mysql - Dynamisk kolonnealias

Svaret er enkelt:Det er ikke muligt i SQL. Kolonnealiaser er konstanter. Du bliver nødt til at oprette forespørgslen dynamisk for at opnå det, du ønsker:

SET @column_alias1 := NOW() - INTERVAL 1 WEEK;
SET @column_alias2 := NOW() - INTERVAL 2 WEEK;
SET @query := CONCAT('SELECT SUM(...) AS `', @column_alias1, '`, SUM(...) AS `', @column_alias2, '` FROM ...');
PREPARE dynamic_statement FROM @query;
EXECUTE dynamic_statement;


  1. Hvordan kan jeg dekryptere en adgangskodehash i PHP?

  2. Ret "FEJL: hver UNDTAGET forespørgsel skal have det samme antal kolonner" i PostgreSQL

  3. logge ind som bruger eller admin fra 2 forskellige borde

  4. Skinner 4 session.id lejlighedsvis nul