Mysql 选择具有相同外键的所有行满足条件的位置

Mysql 选择具有相同外键的所有行满足条件的位置,mysql,sql,Mysql,Sql,我有两个表,operation和operationTask。假设操作只有 身份证 并且操作任务已完成 身份证 操作\u id“作为外键” 状态“布尔0:1” 这两个表之间的关系是一对多 我想选择所有任务“operationtask”状态等于1的所有操作 我所尝试的: SELECT * FROM `operation` WHERE operation.id = All( SELECT task.operation_id FROM operationtask task

我有两个表,
operation
operationTask
。假设
操作
只有

  • 身份证
并且
操作任务
已完成

  • 身份证
  • 操作\u id“作为外键”
  • 状态“布尔0:1”
这两个表之间的关系是一对多

我想选择所有任务“operationtask”状态等于1的所有操作

我所尝试的:

SELECT * 
FROM `operation` 
WHERE operation.id = All(
    SELECT task.operation_id 
    FROM operationtask task 
    WHERE task.status=1 
    GROUP BY task.operation_id)
例如:

操作:

ID
---
1
2
3
ID
---
2
操作任务:

ID   operation_id   status
---  ------------   ------
1         1           1
2         1           0
3         2           1
4         2           1
5         3           0
6         3           0
结果应该是:

操作:

ID
---
1
2
3
ID
---
2

你的代码有什么问题?@Jens没有返回正确的结果。你可以用预期的结果和得到的结果显示一些示例数据吗