目前有一个员工表有员工的staffId。
有一张社保表里面存着员工的社保记录,表里有staffId字段关联着员工表,而且社保表有个deleteFlag的字段0是未删除,1是删除。如果员工没签社保是不会存在该staffId的社保记录的。
我现在想写个sql,是查出所有未签合同的记录的人员。如果员工一开始有社保但是删了,就是只存在一条记录,并且deleteFlag为1的也是需要查出来。
这个sql该怎么写。求大神。
有一张社保表里面存着员工的社保记录,表里有staffId字段关联着员工表,而且社保表有个deleteFlag的字段0是未删除,1是删除。如果员工没签社保是不会存在该staffId的社保记录的。
我现在想写个sql,是查出所有未签合同的记录的人员。如果员工一开始有社保但是删了,就是只存在一条记录,并且deleteFlag为1的也是需要查出来。
这个sql该怎么写。求大神。
*
FROM
员工表
WHERE
NOT EXISTS ( SELECT 1 FROM 社保表 WHERE 员工表.staffId = 社保表.staffId AND 社保表.deleteFlag = 0 )
select * from 员工表 where staffid not in (select staffid from 社保表 where deleteFlag = '0');