Oracle - Jak wyciągnąć count rodzica, który posiada dzieci zawierające oby dwie flagi?

0

Witam.

Mam problem z zapytaniem.

Tabela A(rodzic) i Tabela B(dziecko) Tabela C(Słownik)

Przykładowe dane:

A(id) B(id) c(nazwa)
1 1 'flaga1'
1 2 'flaga2'
2 3 'flaga1'
3 4 'flaga1'
3 4 'flaga2'
3 4 'flaga1'

Chciałbym wyciągnąć ilość wpisów w tabeli A, dla których w tabeli B występują wpisy z nazwą 'flaga1' i 'flaga2'.
Czyli inaczej: ilość rodziców, których dzieci to 'flaga1' i 'flaga2'.

Dla powyższego przykładu COUNT powinien wynieść: 2, ID: 1 i 3.

Nie mogę tego rozgryźć. Proszę o pomoc.

0

Zrób selecta który pokaże Ci te dane (musisz powiązać tabele JOINem) a następnie użyj COUNT.

1

select a, count(distinct c) from Table1 where c in ('flaga1', 'flaga2') group by 1 having count(distinct c)=2

1 użytkowników online, w tym zalogowanych: 0, gości: 1