我有一个contacts
表,该表具有自动递增的主键id
和列上的自引用一对一关系partner_id
。
我正在从各种来源的 CSV 中导入许多联系人,其中一些联系人的呈现方式非常糟糕,因此我必须运用一些聪明才智来确定谁是谁的合作伙伴,如果他们有的话。
我已经到了导入后的阶段,我在联系人表中有行,并且我确定为合作伙伴的任何对都在列中共享该对的唯一值import_group
。
我现在坚持编写查询来执行以下操作:
如果两行在 中共享相同的值import_group
,则将partner_id
两行中的第一行设置为两行id
中的第二行,但不要partner_id
将第二行设置为第一行id
。由于引用此数据库的应用程序的设计,此结构是必需的。
这将在包含最多约 4,000,000 行的表上运行,在系统管理员运行的手动导入期间每月少于一次,因此效率不是此查询的特定目标。
我该怎么办?