2013-02-13 65 views
2

我會保持這個簡短和簡單。我想執行這個查詢:MySQL別名幫助錯誤1054(42S22)

mysql> SELECT ORDER_NUM, NUM_ORDERED * QUOTED_PRICE AS TOTAL_AMOUNT 
    -> FROM ORDER_LINE 
    -> WHERE TOTAL_AMOUNT > '1000' 
    -> ORDER BY ORDER_NUM; 
ERROR 1054 (42S22): Unknown column 'TOTAL_AMOUNT' in 'where clause' 

我敢肯定這件事情簡單,但爲什麼使用別名TOTAL_AMOUNT這不會工作,我不明白。任何幫助表示讚賞!

回答

1

試試這個

mysql> SELECT ORDER_NUM, NUM_ORDERED * QUOTED_PRICE AS TOTAL_AMOUNT 
-> FROM ORDER_LINE 
-> WHERE NUM_ORDERED * QUOTED_PRICE > '1000' 
-> ORDER BY ORDER_NUM; 
+0

啊,是的,謝謝你的迅速回應!我不知道爲什麼我只是沒有做到這一點! – GatewayBit 2013-02-13 23:36:38

+0

在where子句不要做別名,很好它修復了你的問題! – 2013-02-13 23:38:08

0

檢查一下,星號是不是導致您的問題,或者如果你缺少一個逗號,如果不工作,附上這樣的重音符simbols之間的別名:

... QUOTED_PRICE AS `TOTAL_AMOUNT`... 
+0

感謝您發佈PachinSV!我做了echo_me說要做的事情,它的工作原理就是我想要的!我仍然對SQL很陌生,所以很難記住所有的規則,但我很快就會知道它的訣竅。再一次感謝你的幫助! – GatewayBit 2013-02-13 23:42:40