waterst6770
magic su
采纳率0%
2019-09-18 15:25

SqlServer 查询需要部分列按条件求和

1、需要同一个产品开票数量和入库数量求和

2、

select 
'库存合同未开票情况',

a.trackopcodename as '用户名',
a.stockno as '采购合同号',
p.goodscname as '产品名称',
p.goodscode as '产品编码',
p.custgoodscode as '客户货号',
p.goodsnum as '采购数量',
p.[其它.供应商简称] as '采购工厂',
--r.noticeno as '开票单号',
SUM (o.goodsamount) as '已开票数量',
--s.instoreno as '入库单号',
SUM (d.[其它.整批合格数量])as '入库合格数量',
SUM (d.[其它.送检数量]) as '入库数量'


from csidbo.VS_Stock_Product p --采购明细表 p
right join csidbo.vs_Stock a on a.id=p.stockid --采购主表 a
right join csidbo.vs_BillNotice_Product o on p.stockid =o.stockid and p.productid = o.productid--开票明细表 o
right join csidbo.vs_BillNotice_Report r on o.noticeid=r.id --开票主表 r
right join csidbo.vs_StockInStore_Product d on p.stockid =d.stockid and p.productid =d.productid--采购入库明细表 d
right join csidbo.vs_StockInStore s on d.instoreid=s.id --采购入库主表 s

where 
a.TrackOpCodeName = '禾荷-s'
and a.stockno = '193036021'
and r.producername != '上海对外经济贸易实业浦东有限公司'
and s.status = 0
and r.status = 0
and a.status = 0

group by 
a.trackopcodename,
a.stockno,
p.goodscname,
p.goodscode,
p.custgoodscode,
p.goodsnum,
p.[其它.供应商简称],
o.goodsamount,
--r.noticeno,
--s.instoreno,
d.[其它.整批合格数量],
d.[其它.送检数量]

order by
p.goodscode

3、图片说明

因为开票单号和入库单号不一致 导致数量分行了
这两个值都可以不需要 按照产品编号来开票数量和入库数量求和

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答