我的任务表有一个自动增加ID字段,我的taskitem表有一个外键'task_ID'。 taskitem元素可以有许多task_ID(任务可以有很多项)。
我需要创建一个查询,从任务WHERE中选择所有任务ID,taskItem.task_ID是唯一的。即:仅一个项目的所有任务。
这是我尝试过的:
SELECT t.ID
FROM task AS t, taskitem AS ti
WHERE ti.task_ID = t.ID AND ti.taskID IN (SELECT DISTINCT ti.taskID)
答案 0 :(得分:3)
从 taskitem 表中获取所有不同的taskId:
SELECT ti.task_id
FROM taskitem ti
GROUP BY ti.task_id
HAVING COUNT(1) = 1;
要获取所有唯一任务,请使用此查询:
SELECT t.*
FROM task t
INNER JOIN (SELECT ti.task_id
FROM taskitem ti
GROUP BY ti.task_id
HAVING COUNT(1) = 1
) AS ti ON t.id = ti.task_id;