postgreSQL选择所有关联值不为空的行



我有两个表:workflowstasks。任务属于工作流。

我想选择所有的所有工作流与它们关联的任务已经完成。

例如:

工作流1

  • 任务A -completed_at = 2020-01-01
  • 任务B -completed_at = null
  • 工作流2

  • 任务C -completed_at = 2020-01-01
  • 任务D -completed_at = 2020-01-01

3工作流

  • 任务E -completed_at = 2020-01-01
  • 任务F -completed_at = 2020-01-01

我想运行一个查询,只选择工作流2和3,因为它们的任务是完成的,没有未完成的任务。

您可以尝试" not in subquery ";如下:

select * 
from workflows
where workflow_id not in (select workflow_id 
from tasks 
where completed_at is null)

最新更新