Mam SQL DB, który zawiera wiele tabel relacyjnych. Istnieje kilka pól w tabeli głównej, które odwołują się do innej tabeli wiele razy. Załóżmy na przykład, że mam bazę handlowców, którzy są odpowiedzialni za sprzedaż w wielu stanach. Moja baza danych zawiera pola dla State1, State2 i State3, z których wszystkie mapują z powrotem do tabeli stanów. Nie potrafię zrozumieć, jak napisać zapytanie, aby zwrócić rekord ze wszystkimi wyliczonymi stanami. Jeśli potrzebowałem tylko jednego pola State, wiem, że zrobiłbym:Wybór SQL z wieloma odniesieniami do pojedynczej tabeli
SELECT Master.Name, State.Enumeration AS 'State'
FROM MasterTable Master, StateTable State
WHERE Master.State1 = State.ID;
Jak mogę to rozszerzyć dla wszystkich pól państwowych?
Dzięki.
+1: W przypadku dodawania LEWEGO DOŁĄCZ alternatywy –
@ lumberjack4: Nie ma żadnej różnicy w wydajności między publikowaną składnią ANSI-89, i ANSI-92 Fosco. Zaletą ANSI-92 jest standaryzowana i szeroko obsługiwana składnia OUTER JOIN (LEFT, RIGHT co najmniej). –
Dziękuję wam .. uświadomiłem sobie, że podczas edycji dodałem drugie zapytanie. – Fosco