【发布时间】:2020-07-28 10:08:51
【问题描述】:
想象一下我有这个数据集:
serial_id | name | address_id | id_duplicates | dob
_______________________________________________________
1 | JOHN | QWERTY | NULL | 10/2001
2 | JOHN | QWERTY | NULL | 10/2001
3 | JOHN | AZERTY | NULL | 10/2001
4 | JOHN | QWERTY | NULL | 09/2001
5 | MARY | QWERTY | NULL | 10/2001
6 | MARY | AZERTY | NULL | 10/2001
7 | MARY | AZERTY | NULL | 10/2001
当记录在某些条件下匹配时,我想用serial_id 的任何 填充id_duplicates。
如果我希望与 name、address_id 和 dob 具有相同匹配的记录共享 serial_id 列中的单个 id,例如,我会:
serial_id | name | address_id | id_duplicates | dob
_______________________________________________________
1 | JOHN | QWERTY | 1 | 10/2001 --> match
2 | JOHN | QWERTY | 1 | 10/2001 --> match
3 | JOHN | AZERTY | 3 | 10/2001 --> no match on address_id
4 | JOHN | QWERTY | 4 | 09/2001 --> no match on dob
5 | MARY | QWERTY | 5 | 10/2001 --> no match on name
6 | MARY | AZERTY | 6 | 10/2001 --> match
7 | MARY | AZERTY | 6 | 10/2001 --> match
我一直在痛苦地尝试使用嵌套查询来做到这一点,因为它们毫无意义,所以我很不好意思发布......
任何帮助将不胜感激!
【问题讨论】:
标签: sql postgresql duplicates subquery imputation