2010-05-20 56 views
3

我試圖在Postgres的這個查詢使用別名,但Postgres的停止和抱怨錯誤:列「分類彙總」不存在列別名爲計算值

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

不能使用的別名的一部分你的下一個專欄?

回答

5

不,你不能再次使用相同的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

問題有關的答案:

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