Архивация записей с таким же статусом - PullRequest
0 голосов
/ 02 марта 2020

У меня есть родительская таблица 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. Я хочу запросить только записи для c, где все записи p_id имеют статус «ЗАВЕРШЕНО»

1 Ответ

0 голосов
/ 02 марта 2020

Вы можете использовать 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);

Cheers !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...