2013-10-11 108 views
2

我已經計算表從一個查詢,它看起來像這樣:比較的2個不同的行2列的不同在Oracle 11g中

UID1 UID2 
2 3 
2 15 
3 2 
7 12 
12 7 
15 2 

我只需要在這裏獨特的元組。即在UID1 = 2,UID2 = 3和UID1 = 3,UID2 = 2的元組中,在輸出中我只需要1個元組。
嘗試在此表上使用聯接,UID值在另一個表中交換,但輸出中又出現相同的結果。
有什麼建議嗎?

回答

0

請參閱this SQL Fiddle應該解決您的問題。

這是兩個uid1 = uid2組合的自聯接,並且只保留1個基於uid1「較小」的結果。

select 
    t.* 
from 
    test t 
    inner join test t2 
    on t.uid1 = t2.uid2 
     and t.uid2 = t2.uid1 
where 
    t.uid1 < t2.uid1; 
+1

完美!元組的'排序'是這裏的事情,並沒有打動我。萬分感謝! – Armageddon

相關問題