【发布时间】:2016-01-12 17:36:00
【问题描述】:
我正在尝试清理一些几乎重复的数据。我正在做一个自联接来查找除一列之外的所有列都相等的记录,这样我就可以找到最好的那些重复项以从表中删除。我遇到的问题是,虽然数字记录是正确的,但我只看到一个 id 列值一遍又一遍地重复。当我查看与该用户关联的所有值时,只有一次重复的 id 列值。
我知道这并不完全清楚,所以希望这会有所帮助。
Id1 ID2 AnotherColumn AnotherColumn2
---------------------------------------------
1 345 "a" "bd"
2 345 "a" "bd"
3 345 "a" "bd"
4 345 "a" "bd"
5 345 "a" "bd"
我想要返回的是与您在这个虚拟表中看到的完全一样的所有内容。我得到的是这样的:
Id1 ID2 AnotherColumn AnotherColumn2
---------------------------------------------
1 345 "a" "bd"
1 345 "a" "bd"
1 345 "a" "bd"
1 345 "a" "bd"
1 345 "a" "bd"
我使用的查询如下所示:
select A.Id1, A.ID2, A.AnotherColumn, A.AnotherColumn2
from dummy_table A, dummy_table B
where A.ID2 = B.ID2
AND A.Id1 <> B.Id1
AND A.AnotherColumn = B.AnotherColumn
AND A.AnotherColumn2 = B.AnotherColumn2
我想知道的是为什么 Id1 的值被复制到其他行而不是实际显示的原始 Id1 值。
我需要从该表中列出符合这些条件的 id,因为我必须将它们从包含不符合这些条件的其他记录的原始表中删除,这些记录需要保持不变。
【问题讨论】: