We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

MySQL problem z zapytaniem


Sulge
25-01-2008, 14:58
hehe Dzięki z tym DISTINCT też pomyślałem. Może i wystarczy ale pieron wie

bob123
25-01-2008, 08:14
No tak ale przecież może zdarzyć się, że klient 1 zamówił 2 razy produkt 1 raz 2 i w ogóle 3 i jeśli było tylko trzy produkty to to zapytanie przejdzie.
Skorzystaj z DISTINCT

A teraz do tych samych tabel mam takie zadanie:
Skonstruuj zapytanie w SQL które wypisze tych klientów którzy zamówili przynajmniej wszystkie te produkty co klient 2.
A poprzednie zapytania na 3 nie wystarcza?

Sulge
24-01-2008, 20:35
No tak ale przecież może zdarzyć się, że klient 1 zamówił 2 razy produkt 1 raz 2 i w ogóle 3 i jeśli było tylko trzy produkty to to zapytanie przejdzie.

A teraz do tych samych tabel mam takie zadanie:
Skonstruuj zapytanie w SQL które wypisze tych klientów którzy zamówili przynajmniej wszystkie te produkty co klient 2.

bob123
24-01-2008, 09:25
Kod:
SELECT kid 
FROM (SELECT kid, count(*) AS ile FROM zamowienia GROUP BY kid) AS temp_table  
WHERE ile = (SELECT count(pid) FROM produkty);
lub

Kod:
SELECT kid 
FROM zamowienia 
WHERE (SELECT count(kid) FROM zamowienia) = (SELECT count(pid) FROM prodykty);

Sulge
23-01-2008, 18:44
Mam dwie tabele:
Zamowienia (zid,kid,pid) gdzie zid -klucz podstawony; kid- id klienta składajacego zamowienie; pid - id produktu zamawianego
Produkty (pid,nazwa) gdzie pid - klucz podstawowy; nazwa- nazwa produktu;

I zadanie:
Skonstruuj zapytanie w SQL które wypisze kid tych klientów którzy zamówili wszystkie produkty.