我已经编写了下面的查询,但是我意识到我需要它做与当前相反的事情。
我需要在ug中显示每个有工资单的人,那里的号码在esr中不存在。
select distinct ug.name, ug.payroll_no, esr.assignment
from user_group as ug
inner join esrtraining as esr
on ug.payroll_no = SUBSTRING(esr.assignment,2,8)
感谢任何帮助。谢谢。
最佳答案
请试试这个。这将使用LEFT JOIN
将所有内容放入ug
表中,然后是WHERE
子句,该子句过滤并只带来那些不满足匹配条件的记录
select distinct ug.name, ug.payroll_no, esr.assignment
from user_group as ug
LEFT join esrtraining as esr
on ug.payroll_no = SUBSTRING(esr.assignment,2,8)
WHERE
esr.assignment is NULL
关于sql - SQL-列出不匹配的那些,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34154680/