3
的分區
SQL Server 2008的加入只有兩個表
表A的樣子:
A_ID v1 v2 v3
---------------------------
1 d e f
1 a b c
1 a b d
2 d a b
2 e f g
3 d e f
3 e f g
3 d a b
和表B是類似的:
B_ID v1 v2 v3
---------------------------
Q a b c
Q b a c
Q a b d
R d e f
R a b c
R d e f
P e f g
P d a b
我需要從這兩個表背是(A_ID,B_ID)對(如果有的話),其中B_ID =任何一個值的表B中的每一行都具有表A中匹配的行,其中A_ID =任何一個值。換句話說,我需要B中的每個完整三元組的完全匹配集 - 沒有超集或子集。 B_ID和A_ID的值不重要。
我認爲分區是要走的路,因爲我已經有了自然分區A和B的列,並且我還認爲我可以預先選擇哪些分區,通過確保只有具有匹配行數的分區來連接試圖。我無法做到這一點 - 對兩個表進行分區很簡單,但我無法告訴連接只能對分區進行操作。
在此示例中,將返回(2,P),因爲集合P中的所有行均與集合2中的所有行匹配。結果(1,R)將不會返回,因爲集合R的所有行均未全部匹配套裝1等的行
它完美和相當快,too.THAT是很酷。非常感謝。 –