雙向連接我有以下SQL結果集(作爲加入FWIW的結果):查找表中的
A,C
B,E
C,A
D,A
每個值代表一個節點。所以涉及的節點總數是A,B,C,D,E。每行描述一個有向邊。
A -> C
B -> E
C -> A
D -> A
當然,這可以簡化爲
A <-> C
B -> E
D -> A
現在我想篩選出不具有雙向對應的行。所以,最終的結果集應該是
A,C
C,A
或
A,C
在這種情況下
。
我正在尋找在SQL中表達這一點的最佳方式。
'節點' 實際上是一個選擇。因此,這似乎工作: 選擇節點1,從 (選擇...)N 其中存在的節點2(從 (選擇...)× 其中節點1 = n.node2和節點2 = n.node1選擇1 ) 但我想知道數據庫優化器是否真的足夠聰明,可以像這樣高效地執行它。 – tcurdt 2009-02-17 02:38:31