我对这个查询感到非常沮丧,我已经解决了好几个小时:(
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
它不断返回Unknown column 'total' in 'where clause',但结果没有这个问题 where clause column with name "total"is completely ok and calculated.
感谢您的帮助。
最佳答案
您不能在 WHERE
子句中使用别名。查看manual .将其放入 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
关于Mysql查询 - 带有子查询结果的where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52005579/