TAB6
A B C
---------- ---------- -
1 2 A
2 1 A
2 3 C
3 4 D
我認爲,這些記錄{1,2,A}和{2,1,A}爲重複。我需要選擇並生成以下記錄集:
A B C A B C
---------- ---------- - ---------- ---------- -
1 2 A or 2 1 A
2 3 C 2 3 C
3 4 D 3 4 D
我試過了下面的查詢。但無濟於事。
select t1.*
from t6 t1
, t6 t2
where t1.a <> t2.b
and t1.b <> t2.a
and t1.rowid <> t2.rowid
/
A B C
---------- ---------- -
1 2 A
2 1 A
2 1 A
2 3 C
3 4 D
3 4 D
6 rows selected.
甚至這樣的:
select *
from t6 t1
where exists (select * from t6 t2 where t1.a <> t2.b and t1.b <> t2.a)
/
A B C
---------- ---------- -
1 2 A
2 1 A
2 3 C
3 4 D
兩人都沒有工作。
該數據庫將是Oracle 10g。尋找純粹的SQL解決方案。每一個幫助表示讚賞。
究竟是你想實現什麼目標?請在此擴展。 – simchona 2012-01-12 04:05:27
我需要一個SQL來產生記錄集{1,2,A},{2,3,C}和{3,4,D}。對我來說{1,2,A}和{2,1,A}是重複的記錄,結果集應該只有一個元組({1,2,A}或{2,1,A}),但不能同時) – 2012-01-12 04:08:23
只需要清楚,通過「刪除」你的意思是*從結果集*過濾而不是*刪除*。 – APC 2012-01-12 04:23:30