2017-07-05 154 views
2

我有4個不同列的表格,其中ID是所有4個表格中的公共值。在所有4個表中都有一個名爲EventDate的列,但對於相同的ID,具有不同的值或NULL值。新表應該只有ID和EventDate。#SQL - 比較不同的表格並創建一個新表格

我想根據EventDate(ie)比較所有4個表,如果兩個表具有相同的日期,則應該將最小日期插入到新表中。

回答

1

使用UNION ALL所有結合起來,採取最小日期爲每個ID

SELECT ID, MIN(EventDate) AS MIN_DTE INTO NEW_TABLE FROM (
SELECT ID, EventDate from TABLE1 
UNION ALL 
SELECT ID, EventDate from TABLE2 
UNION ALL 
SELECT ID, EventDate from TABLE3 
UNION ALL 
SELECT ID, EventDate from TABLE4 
)A 
GROUP BY ID 
+0

這工作。我可以根據一個條件進行聯合,例如,如果兩個表具有相同的ID和不同的Eventdate,我是否可以選擇兩個中的最小值? – vba

+0

如果我理解正確,上面的內容與你在評論中提出的要求是一樣的。 –