[英]merge two tables without common columns
我想合並兩個沒有MSSQL中公共列的表,同時將每個表中的所有行都保留為合並表中的單獨行。
場景:
Table A Col1 Col2
1 1.Col1 1.Col2
2 2.Col1 2.Col2
Table B Col3
3 3.Col3
這是我所期望的:
Table Col1 Col2 Col3
1 1.Col1 1.Col2 Null
2 2.Col1 2.Col2 Null
3 Null Null 3.Col3
只需使用Union
並為其他列選擇NULL
即可避免:
使用UNION,INTERSECT或EXCEPT運算符組合的所有查詢在其目標列表中必須具有相等數量的表達式。
演示:
Create table #Table1 ( A int, Col1 varchar (10), Col2 varchar(10))
Create table #Table2 ( b int, Col3 varchar (10))
insert into #Table1 values (1,'1.Col1',' 1.Col2')
insert into #Table1 values (2,'2.Col1','2.Col2')
insert into #Table2 values (3,'3.Col3')
select A,Col1,Col2,null as Col3 from #Table1
union
select B,null,null,Col3 from #Table2
go
drop table #Table1
go
drop table #Table2
結果:-
Select A,Col1,Col2,null as Col3 from tblA Union All Select B,null ,null ,Col3 from tblB
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.