删除基于重复的两列值。
Posted
技术标签:
【中文标题】删除基于重复的两列值。【英文标题】:removing duplicate based two coulmn value. 【发布时间】:2014-07-03 14:12:08 【问题描述】:我需要你们的帮助。
我的数据是这样的
A A value 1 value 2
A B value# value#
B A value# value#
D F value# value#
V F value# value#
我需要 A B 或 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#
请帮助解决这个问题。
谢谢大家
桑杰
【问题讨论】:
请帮助解决这个问题.. 被否决的原因是什么..... 【参考方案1】:使用您的示例案例,您可以执行类似的操作
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
)
【讨论】:
以上是关于删除基于重复的两列值。的主要内容,如果未能解决你的问题,请参考以下文章