我有一个包含以下列id,name,source的表。数据来自多个来源,并且有重复记录。我想根据名称值删除重复记录。名称值不相同。
示例:
1 123David Smith Mr. Phonebook
2 David addressbook
3 John addressbook
4 John abcde Phonebook
5 Sarah addressbook
6 9876Bob Phonebook
我想要一张看起来像
的表格2 David addressbook 123David Smith Mr. Phonebook
4 John addressbook John abcde Phonebook
5 Sarah addressbook
6 9876Bob Phonebook
请帮忙 感谢
答案 0 :(得分:1)
看起来你不想删除它们。看起来你想要将它们结合起来。如果我理解正确,您需要这样的查询:
select coalesce(t1.id, t2.id) as id,
t1.name, t1.source, t2.name, t2.source
from table t1 full outer join
table t2
on t1.source = 'addressbook' and
t2.source = 'phonebook'
t2.name like '%'||t1.name||'%';