Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 获取引用表中具有相同主键但状态不同的行_Mysql - Fatal编程技术网

Mysql 获取引用表中具有相同主键但状态不同的行

Mysql 获取引用表中具有相同主键但状态不同的行,mysql,Mysql,我正在吃下表 id task_id stage_id is_completed 1 1 1 1 2 1 2 1 3 1 3 0 4 2 1 1 5 2 2 0 6 2 3 1 7 3 1 1 8 3 2 1 9 3

我正在吃下表

id task_id stage_id is_completed
1   1         1        1
2   1         2        1
3   1         3        0
4   2         1        1
5   2         2        0
6   2         3        1
7   3         1        1
8   3         2        1
9   3         3        0
如果阶段id=1且已完成=1,阶段id=2且已完成=0,如何获取所有任务id使用union:


您可以使用和或的组合,例如:


从mt_任务_状态中选择* 哪里 任务id,从mt_任务状态中选择任务id,其中阶段id='1'且已完成='1' 以及“从mt_任务_状态中选择任务_id”中的任务_id,其中阶段_id='2'且已完成='0' 1,2中的阶段id
按任务id排序

谢谢您的回复,但我需要的是任务id,其中阶段id=1必须完成,阶段id=2未完成。两个都不需要是的,但我只需要满足两个条件的相应任务id,例如,从我的表中,我应该只获得任务id 2,其他任务id在两个阶段都完成。只有任务_id 2完成了阶段1,而阶段2未完成
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
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;