我有第一个表名为“orders”,第二个表名为“details”
orders :
order_id
1
2
3
details :
id | order_id | qty
1 | 1 | 2
2 | 1 | 3
如何显示如下?
order_id | total
1 | 5
2 | 0
3 | 0
我试过这个查询但没有成功:
SELECT *, SUM(qty) AS total
FROM order o
LEFT JOIN details d
ON o.order_id = d.order_id
最佳答案
试试这个:
SELECT o.order_id, IFNULL(SUM(d.qty),0) AS total
FROM orders o
LEFT JOIN details d ON o.order_id = d.order_id
GROUP BY order_id
关于Mysql LEFT JOIN 和 SUM 并显示 0 而不是 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24683894/