2013-02-13 184 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