我对这个查询感到非常沮丧,我解决了好几个小时:(
SELECT m_order.id,
(SELECT SUM(price*amount) FROM m_order_item as item WHERE item.id_order = m_order.id) AS total
FROM `m_order`
WHERE total > 100
它不断返回“where 子句”中的“未知”列“total”,但结果没有这个问题,名称为“total”的 where 子句列完全可以并且经过计算。
谢谢你的帮助。
不能在WHERE
子句中使用别名。请参阅手册。把它HAVING
改为:
SELECT m_order.id,
(SELECT SUM(price*amount) FROM m_order_item as item WHERE item.id_order = m_order.id) AS total
FROM `m_order`
HAVING total > 100
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句