gpt4 book ai didi

mysql - 删除重复的记录,除了一个连接三张表

转载 作者:行者123 更新时间:2023-11-30 22:19:02 26 4
gpt4 key购买 nike

我有一个从表中删除重复记录的方案,但由于数据量大且与三个表的关系,我不知道如何执行此操作。

candidates_table 是包含重复记录的候选表。和字段是

candidate Table : 

candidate_id |f_name |l_name| skills

1 Ab c php,MySQL
2 Ab c php,MySQL,java script
3 cd g Java,hibernate,spring
4 cd g Java,hibernate
5 ef h XML,Web service
6 ef h XML,Web service,json

Attachment Table:

attachment_id |candidate_id

1 2
2 4
3 8
4 9
5 10

Canidate_job_order Table:

joborder_id |candidate_id

1 2
2 4
3 8
4 9
5 10

attachments_table 是一个表,如果任何候选人有附件,那么 candidate_id 就在这里。

candidate_joborder_table 包含 candidate_id(如果他是根据任何工作订单提交的)。

我必须从候选人表中删除没有附件且未针对任何工作订单提交的重复候选人。如果所有匹配都相同,我还必须输入 1。我想从 candidate 表中删除除 canidate_id 2,4,6 之外的所有记录任何帮助。

最佳答案

删除所有没有附件和没有提交工作订单的候选人。

DELETE * FROM candidate WHERE candidate_id NOT IN (
SELECT C.candidate_id FROM candidate C
INNER JOIN Attachment A ON A.attachment_id = C.candidate_id
INNER JOIN Canidate_job_order CJO ON CJO.candidate_id = C.C.candidate_id
)

如果一些候选人只有附件,如果您引用了带有外键的表,则此删除可能不起作用!

关于mysql - 删除重复的记录,除了一个连接三张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37255100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com