Sql server SQL Server联接的行数不相等
我有如下数据,希望看到如下结果。 结果中应留出空白。表2或表3可能包含比另一个多的行,结果中应该有空格/或/nullSql 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
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