我想查询有订货的款色码的销售和库存情况。
a表,门店,款号,类别,年份,季节,颜色,尺码,订货数量
b表,门店,款号,颜色,尺码,销售数量
c表,门店,款号,颜色,尺码 ,库存
select a.*,b.销售数量,c.库存
from a
left join b
on a.门店=b.门店 and a.款号=b.款号 and a.颜色=b.颜色 and a.尺码=b.尺码
left join c
on a.门店=c.门店 and a.款号=c.款号 and a.颜色=c.颜色 and a.尺码=c.尺码
这样有没有错误啊
怎么出来的查询结果比实际的要大啊,好像是有重复的
分享到:
------解决方案--------------------
关联不唯一,也就是 a表的一条数据对应b或者C表多条数据,才会导致数据行打印A表数据行 ------解决方案-------------------- 那你先不B,C汇总,用这个试试:
select a.门店,a.款号,a.颜色,a.尺码,sum(销售数量),sum(库存数量)
from a left join b on a.xx=b.xx
left join c on a.xx=c.xx
group by a.门店,a.款号,a.颜色,a.尺码
如果数据没问题,再把其他字段带出来 ------解决方案-------------------- 是否在b,c里面sum,视乎汇总的数量是否要与A的有关系,不过如果你的B,C都已经有一些A中的字段,那么可以先sum再关联