现在有商品表、订单项目表
订单项目里面存放的有商品编号
现在要查询出每个商品的销售数量,没有销售记录的显示0
SELECT sg.name,sg.id ,sum(soi.number) FROM goods sg join order_item soi on sg.id = soi.goods_id group by sg.name order by sg.name limit 0,10
上面的SQL 语句只能查出订单项里面有记录的结果,假如某一个商品没有销售记录,则整个查询就查不出结果了。这样是有问题的。
谢谢。
解决方案
50
SELECT sg.name,sg.id , ifnull(sum(soi.number) , 0)
FROM goods sg left join
order_item soi
on sg.id = soi.goods_id
group by sg.name
order by sg.name
limit 0,10
30
SELECT sg.name,sg.id ,sum(soi.number)
FROM goods sg LEFT join
order_item soi
on sg.id = soi.goods_id
group by sg.name
order by sg.name
limit 0,10
15
用左连接即可,left join
5
左联接,大婶们已经给出了答案