簡體   English   中英

SQL查詢,連接兩個表

[英]SQL query, join two tables

我需要連接來自兩個不同表的數據,如下所示。 只有一個SQL查詢可以嗎? 如果兩個表上都有“key”和“name”,那么它們是相同的。 “狀態”在table1上始終為“ - ”,在table2上為“T”。 兩個表上的“name”和“comp”也匹配(例如:Name3-C和Name4-B)。
我試過“聯合”和“加入”,但還沒有解決方案!

表格1

t1.name     t1.time   t1.comp   t1.key   t1.status
name1        1          B         106        -
name2        2          B         -          -
name3        1          C         102        -
name4        3          B         103        -
name7        1          C         104        -

表2

t2.name     t2.time   t2.comp   t2.key    t2.status
name5        6          B         100        T
name6        5          B         -          T
name3        7          C         102        T
name4        9          B         103        T

結果應該是......

name      time1    time2   t.comp   t.key   t.status
name1        1       -       B       106       -  
name2        2       -       B        -        -
name3        1       7       C       102       T
name4        3       9       B       103       T
name5        -       6       C       100       T
name6        -       5       B        -        T
name7        1       -       C       104       -


提前致謝!

如果我理解正確,您需要full outer join

select coalesce(t1.name, t2.name) as name,
       t1.time as time1, t2.time as time2,
       coalesce(t1.comp, t2.comp) as comp,
       coalesce(t1.key, t2.key) as key,
       t2.status
from table1 t1 full outer join
     table2 t2
     on t1.key = t2.key and t1.name = t2.name;
Select * from table1
union all 
Select * from table2

假設表的模式是相同的。 如果他們不只是將一個表中的字段添加到另一個表中。

Select field1,field2,NULL,NULL from table1
union all 
Select NULL,NULL,field3,field4 from table2
SELECT 
  T1.time AS Time1,
  T2.Time AS Time2,
  ISNULL(T1.COMP,T2.Comp) AS Comp,
  ISNULL(T1.Key,T2.Key)
FROM TABLE1 T1
FULL OUTER JOIN TABLE2 T2
ON T1.key = T2.key

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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