[英]SQL syntax to merge two tables?
我有兩個表,我想合並如下。
表a:
columns :a1 a2
data :aaa a2
bbb b2
表b:
columns :a1 b2
data :aaa a3
ccc c3
最終所需的輸出表將包括以下內容:
表決賽:
columns :a1 a2 b2
data :aaa a2 a3
bbb b2
ccc c3
SELECT
a.a1, a.a2, b.b2
FROM
a
FULL JOIN
b ON a.a1 = b.a1
-- Test data
with TableA(a1, a2) as
(
select 'aaa', 'a1' union all
select 'bbb', 'b2'
),
TableB(a1, b2) as
(
select 'aaa', 'a3' union all
select 'ccc', 'c3'
)
select
coalesce(A.a1, B.A1) as a1,
A.a2,
B.b2
from TableA as A
full outer join TableB as B
on A.a1 = B.a1
結果:
a1 a2 b2
---- ---- ----
aaa a1 a3
ccc NULL c3
bbb b2 NULL
你需要用這樣的東西JOIN
這兩個表
SELECT a.a1, a.a2, b.b2 FROM table_a a
JOIN table_b b ON a.a1 = b.a1
根據您的需要,您可能需要一個lEFT JOIN
(有時稱為OUTER JOIN
)。 實際語法還取決於您使用的數據庫。 這個例子適用於MySQL。
SELECT a.a1, a.a2, b.b2
INTO NewTable
FROM a,b
Where b.a1=a.a1
這應該是你正在尋找的:
SELECT
ISNULL(a.a1, b.a1) AS a1, a.a2, b.b2
FROM
a
FULL OUTER JOIN
b ON a.a1 = b.a1
有關外部聯接的更多信息,請參閱: http : //msdn.microsoft.com/en-us/library/ms187518.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.