我有一个表格,其中包含我公司员工的名字和姓氏,以及一个确定他们是否仍在为公司工作的字段。
我有另一张表,其中包含员工的任务列表 - 它还包含两个字段,其中包含员工的姓名( - 是的,我知道这不是一个好的结构)。
我希望能够找到所有仍在为公司工作但没有使用MySQL查询的任务的员工。
有什么想法吗?
答案 0 :(得分:1)
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
)
答案 1 :(得分:0)
你可以试试这个 -
select * from FirstTable where firstTable.employee='yes' and
firstTable.empid IN (select secondTbl.empId where firstTable.empid = secondTbl.empId)
未对测试进行测试,并假设您的第二个表(任务表)仅在分配任务时包含员工数据。
答案 2 :(得分:0)
试试这个:
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