SQL zapytanie

0

Witam,
Jako początkujacy student w temacie programowania zapytań do SQL proszę o pomoc w takim zapytaniu :"Podać nazwę klientów którzy kupili wszystkie produkty zakupione przez klienta ‘ Lazyk’"
Pytania są do Bazy Northwind.
Mój problem polega na tym, że nie wiem jak produkty zakupione przez 'Lazyk' wrzucić do zapytania

0

Musisz napisac podzapytanie w klauzyli WHERE ... IN zwracające produkty zakupione przez Lazyk

select distinct klient from zakupy where produkt_id in (select distinct produkt_id from zakupy where klient='Lazyk' and produkt_id is not null)

0

Zadanie jest nietrywialne i nie sądzę, aby to było dla początkującego... Uwierz mi - wielu "speców" od baz danych nie poradziłoby sobie z tym zapytaniem...
Ale do rzeczy.
Jeśli dany klient ma kupić "wszystkie produkty zakupione przez klienta Lazyk", to ilość różnych produktów zakupionych przez klientów, a zarazem takich samych jak 'Lazyk', musi być równa ilości produktów zakupionych przez 'Lazyk'. Proste, nie? :)
Czyli coś w ten deseń:
SELECT id_klienta FROM zakupy z JOIN (SELECT id_produktu FROM zakupy WHERE klient='Lazyk') x ON x.id_produktu=z.id_produktu GROUP BY id_klienta HAVING Count(DISTINCT z.id_produktu)=(SELECT Count(DISTINCT id_produktu) FROM zakupy WHERE klient='Lazyk')
Myślę, że z FULL JOINem było by optymalniejsze, ale trudniejsze do zrozumienia przez początkujących.

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