Как применить условие для всех детей в SQL? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть две таблицы: Case и Artifact. Один Case может иметь ноль или много Artifacts.

Case имеет CaseId в качестве основного столбца.

Artifact имеет ArtifactId, CaseId, IsEnabled в качестве столбцов.

Как я могу написать одно условие для всех детей для одного Case? , Я хочу показать Cases, чьи все Artifacts имеют определенный статус ( включен ).

1 Ответ

3 голосов
/ 18 июня 2019

Вы можете использовать not exists:

select c.*
from cases c
where not exists (select 1
                  from artifact a
                  where a.caseid = c.caseid and a.isEnabled = 0
                 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...