Code Bye

求帮助求关于一个关联表的统计的查询语句


现在有商品表、订单项目表
订单项目里面存放的有商品编号
现在要查询出每个商品的销售数量,没有销售记录的显示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

左联接,大婶们已经给出了答案

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求帮助求关于一个关联表的统计的查询语句