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

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

问题描述:

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

我想根据EventDate(ie)比较所有4个表,如果两个表具有相同的日期,则应该将最小日期插入到新表中。

使用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

如果我理解正确,上面的内容与你在评论中提出的要求是一样的。 –