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