#SQL - 比较不同的表并创建一个新表

时间:2017-07-05 04:05:49

标签: mysql sql sql-server database

我有4个不同列的表,其中ID是所有4个表中的公共值。在所有4个表中都有一个名为EventDate的列,但对于相同的ID具有不同的值或NULL值。新表应该只有ID和EventDate。

我想基于EventDate(即)比较所有4个表,如果两个表具有相同的日期,它应该将最小日期插入新表中。

1 个答案:

答案 0 :(得分: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