我有两张 table 。
T1
IDWorker
姓名
姓氏
T2
IDWorker
月份
年份
因素
现在我必须获取给定月份和年份不在 T2 中的所有工作人员。
这是我的查询:
SELECT
`T1`.`IDWorker`,
`T1`.`Name`,
`T1`.`LastName`,
`T2`.`Month`,
`T2`.`Year`
`T2`.`Factor`
FROM
`T1`
LEFT JOIN `T2` ON `T1`.`IDWorker` = `T2`.`IDWorker`
WHERE
`T2`.`Month` = 4 AND
`T2`.`Year` = 2014 AND
`T2`.`IDWorker` IS NULL;
运行此查询,我得到空结果,但排除月份和年份条件,我得到 worker 列表。我需要显示给定时间段内未输入 T2 的所有工作人员的结果。
最佳答案
我愿意
SELECT * FROM t1
WHERE IDWorker NOT IN (SELECT IDWorker
FROM T2
WHERE Month = 4
AND Year = 2014)
关于mysql - 如何从一个表中选择第二个表中不存在的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23558223/