Dzięki za odpowiedź. Mam jeszcze jedno pytanko z tym związane. Czy można używać INNER JOIN do sięgania (w jednym zapytaniu) przez kilka tabel po rekordy z ostatniej tabeli powiązane z rekordami z pierwszej tabeli?
Przykład hipotetyczny: tabele: Klienci(K), Zamówienia(Z), Produkty(P), Producenci(F). Czy mogę w jednym zapytaniu dla danego Klienta wybrać od razu Producentów których produkty sprzedałem temu klientowi np tak:
Kopiuj
SELECT F.name
FROM F
INNER JOIN (K, Z, P, F) // nie wiem czy musi być nawias?
ON (K.id = Z.id_klienta AND Z.id_produktu = P.id AND P.id_producenta = F.id) // i czy tu też nawias ?
WHERE K.name = 'Justin Biber';
Wygląda trochę dziwnie.
I jeżeli to powyżej jest dobrze to czy identyczna pod względem działania (Selectowania) konstrukcja oparta na WHERE jest możliwa tylko z wieloma Selctami i IN
Kopiuj
SELECT F.name
FROM F
WHERE F.id IN (
SELECT P.id_producenta
FROM P
WHERE P.id IN (
SELECT id_produktu FROM Z
WHERE Z.id_klienta IN (
SELECT id FROM K
WHERE name = 'Justin Biber' )
)
); // nie jestem pewien czy znak ";" nie powinien być na końcu każdego zagłębionego Selecta czy też nie ?
Czy da radę to z "WHERE IN" zrobić prościej?