2017-06-15 53 views

回答

0

SELECT *从mt_task_status 其中 TASK_ID在(SELECT TASK_ID FROM mt_task_status WHERE stage_id = '1' 和is_completed = '1') 和TASK_ID在(SELECT TASK_ID FROM mt_task_status WHERE stage_id = '2' 和is_completed ='0') and stage_id in(1,2) order by task_id

0

使用union

select task_id from table where stage_id = 1 and is_completed = 1 
union 
select task_id from table where stage_id = 2 and is_completed = 0 
1

您可以使用ANDOR,例如组合:

SELECT task_id 
FROM tasks 
WHERE (stage_id = 1 AND is_completed = 1) 
OR (stage_id = 2 AND is_completed = 2) 
GROUP BY task_id; 
+0

感谢您的回复,但我需要的是task_ids,其中stage_id = 1必须完成且stage_id = 2未完成。没有一个 – Adalarasu

+0

这个查询将返回两个,而不是其中任何一个。 –

+0

是的,但我只需要那些相应的task_ids,其中两个条件都满足E.g.从我的桌子我应该只获得task_id 2,其他人在两个阶段完成。只有task_id 2是(阶段1完成,阶段2未完成) – Adalarasu