27,579
社区成员
发帖
与我相关
我的任务
分享
--测试数据
if not object_id(N'Tempdb..#A') is null
drop table #A
Go
Create table #A([任务号] nvarchar(24),[作业号] int,[数量] int,[重量] int)
Insert #A
select N'0001',1801001,3,344 union all
select N'0001',1801002,6,893 union all
select N'0002',1801003,6,734 union all
select N'0003',1801004,9,1838
GO
if not object_id(N'Tempdb..#B') is null
drop table #B
Go
Create table #B([任务号] nvarchar(24),[仓位] int,[重量] int)
Insert #B
select N'0001',1,32 union all
select N'0001',2,53 union all
select N'0001',3,174 union all
select N'0002',1,32 union all
select N'0002',2,88 union all
select N'0002',3,189
Go
--测试数据结束
SELECT #A.* ,
SUM(CASE WHEN 仓位 = 1 THEN #B.重量
ELSE 0
END) AS 仓位1重量 ,
SUM(CASE WHEN 仓位 = 2 THEN #B.重量
ELSE 0
END) AS 仓位2重量 ,
SUM(CASE WHEN 仓位 = 3 THEN #B.重量
ELSE 0
END) AS 仓位3重量
FROM #A
LEFT JOIN #B ON #B.任务号 = #A.任务号
GROUP BY #A.任务号 ,
#a.作业号 ,
#A.数量 ,
#A.重量