目前有一個員工表有員工的staffId。
有一張社保表里面存著員工的社保記錄,表里有staffId欄位關聯著員工表,而且社保表有個deleteFlag的欄位0是未洗掉,1是洗掉。如果員工沒簽社保是不會存在該staffId的社保記錄的。
我現在想寫個sql,是查出所有未簽合同的記錄的人員。如果員工一開始有社保但是刪了,就是只存在一條記錄,并且deleteFlag為1的也是需要查出來。
這個sql該怎么寫。求大神。
uj5u.com熱心網友回復:
不是未簽合同。是未簽社保uj5u.com熱心網友回復:
SELECT
*
FROM
員工表
WHERE
NOT EXISTS ( SELECT 1 FROM 社保表 WHERE 員工表.staffId = 社保表.staffId AND 社保表.deleteFlag = 0 )
uj5u.com熱心網友回復:
查出所有員工中,員工ID不在未買社保的員工ID里就好了:select * from 員工表 where staffid not in (select staffid from 社保表 where deleteFlag = '0');
uj5u.com熱心網友回復:
.轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/81767.html
標籤:MySQL
上一篇:MariaDB 存盤程序中使用group_concat會亂碼
下一篇:mysql欄位值值的區間搜索
