34,575
社区成员
发帖
与我相关
我的任务
分享
--测试数据
if not object_id(N'Tempdb..#A') is null
drop table #A
Go
Create table #A([车间] nvarchar(23),[姓名] nvarchar(23),[数量] int)
Insert #A
select N'车间1',N'张三',100 union all
select N'车间1',N'李四',200 union all
select N'车间1',N'赵大大',200 union all
select N'车间2',N'王五',300
GO
if not object_id(N'Tempdb..#B') is null
drop table #B
Go
Create table #B([车间] nvarchar(23),[姓名] nvarchar(22),[消耗数量] int)
Insert #B
select N'车间1',N'张三',50 union all
select N'车间1',N'李四',10 union all
select N'车间1',N'李四',90
Go
--测试数据结束
SELECT #A.*,ISNULL(t.消耗数量,0) 消耗数量
FROM #A
LEFT JOIN
(SELECT 车间, 姓名, SUM(消耗数量) AS 消耗数量 FROM #B GROUP BY 车间, 姓名) t
ON t.姓名 = #A.姓名
AND t.车间 = #A.车间;