我已经编写了下面的查询,但是我意识到我需要它做与当前相反的事情。
我需要在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/

10-13 05:50