首页 > 解决方案 > 归档具有相同状态的记录

问题描述

我有一个父表 p 和子表 c。

p
id varchar2(10),
status  varchar2(10),
add_date date
c
id  varchar2(10),
p_id varchar2(10),(foreign key to p)
status varchar2(10)
add_date date

例如,P 记录的状态为 'COMPLETE' p_id 在 c 中可以有多个记录。我只想查询所有 p_id 条目的状态为“完成”的 c 的记录

标签: sqloracle

解决方案


您可以使用group by如下:

Select p.id
From table_p p join table_c c
on p.id = c.p_id
Where p.status = 'complete'
Group by p.id
Having count(1) = sum(case when c.status = 'COMPLETE' then 1 end);

干杯!!


推荐阅读