#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
这工作。我可以根据一个条件进行联合,例如,如果两个表具有相同的ID和不同的Eventdate,我是否可以选择两个中的最小值? – vba
如果我理解正确,上面的内容与你在评论中提出的要求是一样的。 –