tablica 'gatunki' : w niej pola "gatunek" i "kontynent"
tablica 'zwierz': w niej pola "imie" , "gatunek", "waga"
każdy gatunek z tablicy zwierz jest też w tablicy gatunki, poza tym nie ma pustych pól i nie zajmujemy się szczegółami
jest zadanie: wypisać najstarszego zwierzaka dla każdego kontynentu (może się zdarzyć że na pewnym kontynencie dwa zwierzaki mają taką samą największą wagę)
w postgresie jest łatwo
Kod: Zaznacz cały
SELECT imie,gatunki.gatunek ,kontynent, waga FROM zwierz JOIN gatunki ON gatunki.gatunek=zwierz.gatunek WHERE (kontynent, waga) IN (SELECT kontynent,max(waga) FROM zwierz JOIN gatunki ON gatunki.gatunek=zwierz.gatunek GROUP BY kontynent)
Kod: Zaznacz cały
SELECT coś1,coś2,coś3 FROM ... WHERE (coś1,coś2) IN (SELECT (cośinnego1 ,cośinnego2) FROM ...);
Kod: Zaznacz cały
SELECT coś1,coś2,coś3 FROM ... WHERE coś1 IN (SELECT cośinnego1 FROM ...);
Kod: Zaznacz cały
WHERE (coś1,coś2) IN (SELECT (cośinnego1,cośinnego2) FROM ...)
Kod: Zaznacz cały
..WHERE EXISTS..
W ogóle SQL w Accesie wydaje mi się jakiś ułomny. Nie wiecie czy moje pierwsze zapytanie przeszłoby w bazie Oracle albo MS SQL ?