-1

我需要你们的帮助。

我的数据是这样的

A A value 1 value 2
A B value# value#
B A value# value#
D F value# value#
V F value# value#

我需要 AB 或 B A 中的任何一行。它应该看起来像这样

A A value 1 value 2
A B value# value#
B A value# value#  .....this record should be removed
D F value# value#
V F value# value#

请帮助解决这个问题。

感谢大家

桑杰

4

1 回答 1

0

使用您的示例案例,您可以执行类似的操作

delete from table1 t1
where exists (select null
from table1
where t1.col1 = col2 and t1.col2 = col1 and t1.col1 > col1
)

但如果你有,那不会删除重复项

A B
A B => won't be removed
A A

如果您的表中有一个代理键(如自动递增的 id),您可以这样做,这也将删除一个重复的A B

delete from table1 t1
    where exists (select null
    from table1
    where ((t1.col1 = col2 and t1.col2 = col1) or (t1.col1 = col1 and t1.col2 = col2) and t1.id > id
    )
于 2014-07-03T14:34:24.533 回答