有AB两个表A表
车间 姓名 数量
车间1 张三 100
车间1 李四 200
车间1 赵大大 200
车间2 王五 300B表
车间 姓名 消耗数量
车间1 张三 50
车间1 李四 10
车间1 李四 90实现连接结果要求如下
车间 姓名 数量 消耗数量
车间1 张三 100 50
车间1 李四 200 100
车间1 赵大大 200 0
车间2 王五 300 0如何将两表的查询结果合并在一起,汇总第二个表的数据,以车间和姓名作为连接字段但是又不丢失第一个表的数据
车间 姓名 数量
车间1 张三 100
车间1 李四 200
车间1 赵大大 200
车间2 王五 300B表
车间 姓名 消耗数量
车间1 张三 50
车间1 李四 10
车间1 李四 90实现连接结果要求如下
车间 姓名 数量 消耗数量
车间1 张三 100 50
车间1 李四 200 100
车间1 赵大大 200 0
车间2 王五 300 0如何将两表的查询结果合并在一起,汇总第二个表的数据,以车间和姓名作为连接字段但是又不丢失第一个表的数据
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.车间;
t1.FAuxQty 客户下单数,isnull(t2.lj,0) as 累计发货数,t1.FDate 客户要求发货日,t4.FName 业务员
from SEOrderEntry t1
left join (select FOrderInterID,FOrderBillNo,FItemID,sum(isnull(FQty,0)) as lj
from icstockbillentry
group by FOrderInterID,FOrderBillNo,FItemID
)t2
on t1.FInterID=t2.FOrderInterID and t1.FItemID=t2.FItemID
left join SEOrder t3 on t1.FInterID=t3.FInterID
left join t_user t4 on t4.FUserID=t3.FEmpID
left join t_ICItem t5 on t5.FItemID=t2.FItemID
where
t2.FOrderBillNo='seord010931'
order by t2.FOrderBillNo,t2.FItemID我实际的源代码是这样的,执行的时候只出来 t1.FInterID=t2.FOrderInterID and t1.FItemID=t2.FItemID的数据,如果t2.FItemID没有数据t1的t1.FInterID=t2.FOrderInterID的数据就会被忽略掉