簡體   English   中英

SQL語法合並兩個表?

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

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