错误配置的手动导入将我们的整个 AD 导入了我们的帮助台用户数据库,创建了一堆无关/重复的帐户。当然,没有可从中恢复的备份。
为了便于清理,我想运行一个查询来查找当前未链接到任何当前或存档工单的用户。我有三个表,USER
、HD_TICKET
和 HD_ARCHIVE_TICKET
。我想将 USER
中的 ID
字段与其他两个表中的 OWNER_ID
和 SUBMITTER_ID
字段进行比较,返回USER.ID
中唯一不存在于其他四列中的值。
如何实现?
最佳答案
对每个右表id为空的关系做一个左连接:
select user.*
from user
left join hd_ticket on user.id = hd_ticket.owner_id
left join hd_ticket as hd_ticket2 on user.id = hd_ticket2.submitter_id
left join hd_archive_ticket on user.id = hd_archive_ticket.owner_id
left join hd_archive_ticket as hd_archive_ticket2 on user.id = hd_archive_ticket2.submitter_id
where hd_ticket.owner_id is null
and hd_ticket2.submitter_id is null
and hd_archive_ticket.owner_id is null
and hd_archive_ticket2.submitter_id is null
关于mysql - 查找多个列和表中不存在的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940007/