【发布时间】:2022-01-13 09:01:36
【问题描述】:
让我们考虑一个玩具示例。有一个表雇员和表任务,其中每个任务分配给一个员工。一名员工可以有多项任务。
我想查询员工按任务中的某些列过滤他们。我将员工分组,每个员工只显示一次。查询将是这样的:
SELECT *
FROM employees emp JOIN tasks tsk on emp.id = tsk.assigned_emp
WHERE tsk.deadline = today
GROUP BY employees
这很好,但现在假设我想选择没有任何任务的员工,这些任务的截止日期是今天到期。我的第一次尝试是:
tsk.deadline != today
but then is 查找至少有一项今天未到期的任务的员工。如何编写查询以包含给定员工的所有可能的任务?
【问题讨论】:
-
这是一个常见问题解答。请在考虑发布之前阅读手册和谷歌任何错误消息和许多清晰、简洁和准确的问题/问题/目标的措辞,带有和不带有您的特定名称/字符串/数字、“site:stackoverflow.com”和标签;阅读许多答案。反映你的研究。请参阅How to Ask、Help center 和投票箭头鼠标悬停文本。如果您发布问题,请使用一个措辞作为标题。