34,871
社区成员
发帖
与我相关
我的任务
分享declare @A table(a varchar(2), b varchar(2))
insert @A
select 'a1','b1'
declare @B table(a varchar(2), b varchar(2))
insert @B
select 'a2','b2'
union
select 'a7','b7'
declare @C table(a varchar(2), b varchar(2))
insert @C
select 'a3','b3'
declare @D table(a varchar(2), b varchar(2))
insert @D
select 'a4','b4'
union
select 'a5','b5'
union
select 'a6','b6'
select id=identity(int,1,1),* into #l1 from @A
select id=identity(int,1,1),* into #l2 from @B
select id=identity(int,1,1),* into #l3 from @C
select id=identity(int,1,1),* into #l4 from @D
select a.a,a.b,b.a,b.b,c.a,c.b,d.a,d.b
from #l4 d left join #l1 a on d.id = a.id
left join #l2 b on d.id = b.id
left join #l3 c on d.id = c.id
drop table #l1,#l2,#l3,#l4
/* 结果
a b a b a b a b
---- ---- ---- ---- ---- ---- ---- ----
a1 b1 a2 b2 a3 b3 a4 b4
NULL NULL a7 b7 NULL NULL a5 b5
NULL NULL NULL NULL NULL NULL a6 b6
(3 row(s) affected)
*/