Sql server SQL Server联接的行数不相等

Sql server SQL Server联接的行数不相等,sql-server,Sql Server,我有如下数据,希望看到如下结果。 结果中应留出空白。表2或表3可能包含比另一个多的行,结果中应该有空格/或/null 1.C1=29 1.C2=4133 2.C2=Adam 3.C2=Helen 1.C1=29 1.C2=4133 2.C2=Bob 3.C2=Joice 1.C1=29 1.C2=4133 2.C2=Chris 1.C1=29 1.C2=4133 2.C2=Dave 1.C1=33 1.C2=9375 2.C2=Eddie 3.C2=Ka

我有如下数据,希望看到如下结果。 结果中应留出空白。表2或表3可能包含比另一个多的行,结果中应该有空格/或/null

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
表1

C1=29 (pk)  C2=4133     
C1=33 (pk)  C2=9375     
1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
表2

C1=29(fk)   C2=Adam     
C1=29(fk)   C2=Bob      
C1=29(fk)   C2=Chris        
C1=29(fk)   C2=Dave     
C1=33(fk)   C2=Eddie        
C1=33(fk)   C2=Frank        
1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
表3

C1=29(fk)   C2=Helen        
C1=29(fk)   C2=Joice        
C1=33(fk)   C2=Karen        
C1=33(fk)   C2=Laura        
C1=33(fk)   C2=Mary     
1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
期望结果

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
Rohit-s查询--

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary

你就不能
左键加入所有的表吗

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
例如:

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
编辑: 根据您的编辑,并希望订购:

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
编辑2: 假设一切正常,(行数和密集列):

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
编辑3: 密秩、行数、并集

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary
编辑4: 密集秩、行数、并集、子查询、排序依据

1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary

查看我的查询版本及其结果——编辑到我的原始请求中。计算机或其他计算机如何确定adam是否应该加入helen或joice?@donPablo-这对你有帮助吗?我已经创建了供你使用的。我尝试了你的第一次编辑,但没有得到所有的行。Edit2未能获得最后一排Mary。Edit3有效,但“null”Mary排序高于其他。我认为这两列名称是独立的升序列表,一列结束后,另一列继续。谢谢你的努力和很多例子。@donPablo-也解决了这个问题。但是我真的认为你太依赖于列中的值了,这不是很好。第二次编辑的可能重复应该会给你你所期望的。@Rohit-不是引用项的重复,因为我的示例的表2和表3的长度不等,有时一个比另一个长,反之亦然。第四个编辑应该可以。你可以在提供的小提琴链接中查看它。
1.C1=29 1.C2=4133   2.C2=Adam   3.C2=Helen
1.C1=29 1.C2=4133   2.C2=Bob    3.C2=Joice
1.C1=29 1.C2=4133   2.C2=Chris  
1.C1=29 1.C2=4133   2.C2=Dave   
1.C1=33 1.C2=9375   2.C2=Eddie  3.C2=Karen
1.C1=33 1.C2=9375   2.C2=Frank  3.C2=Laura
1.C1=33 1.C2=9375               3.C2=Mary