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 12:00:01 Odrzucony
S9988 Agregacja 2020-06-02 12:10:09 Odrzucony
S9988 Agregacja 2020-06-02 12:20:13 Przyjęty
S9988 Wysyłka 2020-06-02 14:00:01 Przyjęty
S2565 Agregacja 2020-06-02 12:12:00 Odrzucony
S2565 Agregacja 2020-06-02 12:36:41 Przyjęty
S2565 Wysyłka 2020-06-02 15:11:02 Przyjęty
S1122 Agregacja 2020-06-02 12:22:48 Przyjęty
S1122 Wysyłka 2020-06-02 14:54:41 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 12:20:13 Przyjęty
S2565 Agregacja 2020-06-02 12:36:41 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