簡體   English   中英

合並兩個沒有公共列的表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM