SQL Server 2017中的四个表上的完全外部联接

时间:2018-10-19 13:50:06

标签: sql sql-server join

我正在尝试对Microsoft SQL Server 2017中的四个表进行完全外部联接。

这些表如下所示:

表1

SubjectID   DATE         
001         01/11/2014   
001         02/11/2013   
002         02/10/2015   
003         08/12/2013   
002         01/31/2012   
003         07/19/2016   

表2

SubjectID   DATE         
006         05/11/2012   
006         03/11/2013   
008         09/10/2018   
008         11/12/2014   
010         01/12/2011   
010         04/27/2017   

表3

SubjectID   DATE         
012         06/11/2012   
012         04/11/2010   
014         08/10/2011   
014         07/12/2017   
015         01/12/2013   
015         05/27/2018   

表4

SubjectID          
021            
021           
022            
022            
035            
035         

我想创建一个包含所有主题和日期的表格。另外,我想确保所有重复项都将被删除(我想我可以使用DISTINCT关键字来做到这一点)。

1 个答案:

答案 0 :(得分:3)

尽管您可以使用full outer join,但我还是推荐union

select subjectid, date from table1 union  -- on purpose to remove duplicates
select subjectid, date from table2 union  -- on purpose to remove duplicates
select subjectid, date from table3 union  -- on purpose to remove duplicates
select subjectid, date from table4