псевдонимы столбцов в postgres для рассчитанных значений - PullRequest
4 голосов
/ 20 мая 2010

Я пытался использовать псевдонимы в postgres для этого запроса, но postgres останавливается и жалуется, что ОШИБКА: столбец "промежуточный итог" не существует

SELECT SUM(price) AS subtotal, 
       subtotal * 3.0 AS fees,
       (subtotal + fees) AS total
  FROM cart

Вы не можете использовать псевдонимы как часть следующего столбца?

Ответы [ 2 ]

5 голосов
/ 20 мая 2010

Нет, вы не можете повторно использовать псевдоним столбца в одном и том же операторе SQL - используйте:

SELECT SUM(t.price) AS subtotal,
       SUM(t.price) * 3.0 AS fees,
       SUM(t.price + fees) AS total
  FROM CART t

Вы можете ссылаться на псевдоним столбца в предложении ORDER BY, некоторые базы данных также поддерживают ссылки в предложениях GROUP BY и HAVING.

0 голосов
/ 03 мая 2017

Вопрос о вашем ответе:

    SELECT SUM(t.price) AS subtotal,
      SUM(t.price) * 3.0 AS fees,
      SUM(t.price + fees) AS total
    FROM CART t

Если это не так, если вы не можете повторно использовать псевдоним столбца в одном и том же операторе SQL:

   SELECT SUM(t.price) AS subtotal,
     SUM(t.price) * 3.0 AS fees,
     SUM(t.price + (t.price * 3.0)) AS total
   FROM CART t
...