select c.cWhname 仓库,a.cInvCode 存货编码,a.cInvName 存货名称,a.cInvStd 规格型号,a.iInvBatch 最小包装量,a.iTopSum 最高库存,
a.iLowSum 最低库存,b.cBatch 批次号,d.cComUnitName 主计量单位,b.dVDate 失效日期,sum(b.iQuantity)合计库存,
datediff(day,getdate(),isnull(b.dVDate,''))保质期
from Inventory a left join CurrentStock b on b.cInvCode=a.cInvCode
left join Warehouse c on b.cwhcode=c.cWhCode
left join ComputationUnit d on a.cComUnitCode=d.cComUnitCode
where b.cWhCode in ('W5101','W510106') and b.iQuantity > 0
group by a.cInvCode,c.cWhName,a.cInvName,a.cInvStd,a.iInvBatch,a.iTopSum,a.iLowSum,b.cBatch,d.cComUnitName,b.dVDate
请先把表之间的关系做个简单说明,才能更好理解你的SQL语句。
你检查一下group by a.cInvCode,c.cWhName,a.cInvName,a.cInvStd,a.iInvBatch,a.iTopSum,a.iLowSum,b.cBatch,d.cComUnitName,b.dVDate
语句,之所以合并不成功是因为这里面有些字段的值不相同,group by后面所有的字段值必须完全相同才能合并成功。
是否可以考虑删除一些值不相同的列呢。
语句并没有问题,你所谓的没有合并,是不是因为批次号,你看下你筛选出来的数据,是哪个字段数据不一样造成没有合并
只需要对相同编码产品的库存数据,group by 编码 就可以了,你这个sql厉害,中文都用上了
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y