Wyświetlanie danych spełniających warunek

0

Cześć,

Ostatnio nurtuje mnie pewien problem. Chciałbym, aby SQL pokazał mi wszystkie wpisy danego sklepu, jeżeli chociaż na jednym z nich wystąpił określony status. Pokażę na przykładzie. Mam bazę danych:

SKLEP TYP DATA WYWOŁANIA STATUS
S9988 Agregacja 2020-06-02 1201 Odrzucony
S9988 Agregacja 2020-06-02 1209 Odrzucony
S9988 Agregacja 2020-06-02 1213 Przyjęty
S9988 Wysyłka 2020-06-02 1401 Przyjęty
S2565 Agregacja 2020-06-02 1200 Odrzucony
S2565 Agregacja 2020-06-02 1241 Przyjęty
S2565 Wysyłka 2020-06-02 1502 Przyjęty
S1122 Agregacja 2020-06-02 1248 Przyjęty
S1122 Wysyłka 2020-06-02 1441 Przyjęty

Chciałbym napisać zapytanie, które wyszuka czy na danym sklepie jest status ODRZUCONY, jeśli znajdzie, to niech pokaże najnowszy wpis z typem Agregacja na dany sklep. Chciałbym otrzymać taki wynik

SKLEP TYP DATA WYWOŁANIA STATUS
S9988 Agregacja 2020-06-02 1213 Przyjęty
S2565 Agregacja 2020-06-02 1241 Przyjęty

Sklep S9988 i S2565 posiada status odrzucony i najnowszy ich wpis z typem AGREGACJA wyświetla się w tabeli. Sklep S1122 nie ma statusu ODRZUCONY, więc nie pojawia się w wyniku wyszukiwania.

Domyślam się, że jest to skomplikowane, ale szukam w internecie i nawet nie wiem jak zacząć

0

Jeden ze sposobów:

select * from TABELA where SKLEP = ( select SKLEP from TABELE where STATUS = 'Przyjęty' limit 1 )

W drugim zapytaniu pogrupuj wyniki z zapytania:

select * from TABELA where SKLEP in ( select SKLEP from TABELE where STATUS = 'Przyjęty' )

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