повторно использовать "sum (table_column) как x" - PullRequest
4 голосов
/ 02 апреля 2012

У меня проблема с запросом SQL.

SELECT SUM(table_colum) AS value, SUM(value * 3) AS value2 FROM table;

Вы должны знать, что это краткое представление всего моего запроса.

Ошибка:

Unknown column 'value' in 'field list'

Есть ли способ повторно использовать value в другом SUM()?

Ответы [ 2 ]

6 голосов
/ 02 апреля 2012

Вы можете просто сделать:

SELECT SUM(table_colum) AS value, SUM(SUM(table_colum) * 3) AS value2 FROM table;

Внутренне сервер будет выполнять вычисления SUM(table_colum) только один раз и использовать результат дважды.

4 голосов
/ 02 апреля 2012

Полагаю, вы могли бы написать

SELECT value, SUM(value * 3) AS value2
  FROM ( SELECT SUM(table_column) AS value
           FROM table
       ) AS t
;

Но, как я уже упоминал в комментарии выше, я не уверен, для чего вы этого хотите. SUM(table_column) - это просто одно значение, поэтому SUM - это то же самое значение. Таким образом, вы получите тот же результат, написав:

SELECT value, value * 3 AS value2
  FROM ( SELECT SUM(table_column) AS value
           FROM table
       ) AS t
;

без второго SUM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...