我有两个表,如果两者都有匹配的值,我需要比较它们。表结构
Persons
ID | fname | lname | address | socialNumber | taxNumber | Match
Personals
ID | fname | lname | address | socialNumber | taxNumber
我有两个正在检查匹配的参数,socialNumber 和/或 taxNumber。
- Person 需要与 Personals 进行比较
- 如果找到匹配,则使用 Personals 的 ID(匹配的 ID)更新 ID(以 Persons 为单位)并将“Match”设置为 True(默认为 false)
- 如果未找到匹配项,则从 Persons 中删除行并将其作为新行插入 Personals
- 项目清单
此外,如果我想添加新参数以查找匹配项(例如:地址),是否可以让所有内容尽可能动态化。这是我现在正在使用的 SQL 代码,但我不知道如何根据需要对其进行扩展。
UPDATE Persons SET Match = 1, ID = (SELECT MAX(ID) FROM Personals) WHERE taxNumber IN ( SELECT taxNumber FROM Personals GROUP BY taxNumber HAVING ( COUNT(taxNumber) > 1 ))