Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql - Alias ​​für dynamische Spalten

Die Antwort ist einfach:Es ist in SQL nicht möglich. Spaltenaliase sind Konstanten. Sie müssten die Abfrage dynamisch erstellen, um das zu erreichen, was Sie wollen:

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;