MySQL:只返回缺少特定条件的结果?

MySQL:只返回缺少特定条件的结果?,mysql,Mysql,我试图构造一个只返回未分配任务的MySQL查询。当一个任务有一个或多个分配时,该任务被视为已分配,其中是\u受让人等于y tasks - id - name - description assignments - task_id - user_id - is_assignee - is_owner 我犯了一个错误,以前发现的任务根本没有相关的作业行: SELECT t.* FROM tasks t LEFT OUTER JOIN assignments a ON t.id = a.task_i

我试图构造一个只返回未分配任务的MySQL查询。当一个任务有一个或多个
分配时,该任务被视为已分配,其中
是\u受让人
等于
y

tasks
- id
- name
- description
assignments
- task_id
- user_id
- is_assignee
- is_owner
我犯了一个错误,以前发现的任务根本没有相关的
作业
行:

SELECT t.*
FROM tasks t
LEFT OUTER JOIN assignments a
ON t.id = a.task_id
WHERE a.id is NULL

这非常有效,但只返回没有所有者和受让人的任务。我需要的是返回没有相关
赋值的
行且
被设置为“y”的任务。有没有一种有效的方法可以只返回我正在查找的未分配的
任务
行?

我可能有误解,但是在
JOIN
子句中添加额外的逻辑,以便仅在
为_assignment='y'
的地方进行筛选

SELECT t.*
FROM tasks t
LEFT OUTER JOIN assignments a
ON t.id = a.task_id AND a.is_assignee = 'y'
WHERE a.id is NULL

哇,就这么简单。我没有意识到我可以为连接添加逻辑!谢谢你,杰森!