会社の従業員の姓名を含む 1 つのテーブルと、従業員がまだ会社で働いているかどうかを判断するフィールドがあります。
従業員のタスクのリストを含む別のテーブルがあります-従業員の姓と名の2つのフィールドも含まれています(-はい、それは良い構造ではないことを知っています)。
まだ会社で働いているが、MySQL クエリを使用してタスクを持っていないすべての従業員を検索できるようにしたいと考えています。
何か案は?
SELECT *
FROM employees
WHERE still_working_for_company
AND NOT EXISTS (
SELECT TRUE
FROM tasks
WHERE tasks.firstname = employees.firstname
AND tasks.lastname = employees.lastname
)
これを試して:
SELECT e.*
FROM emp e
LEFT JOIN emptask et ON e.firstname = et.firstname AND e.lastname = et.lastname
WHERE e.stillworks = 'y' AND et.taskid IS NULL
GROUP BY e.firstname, e.lastname