Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zagnieżdżone złączenia INNER JOIN
Forum PHP.pl > Forum > Bazy danych > MySQL
bjera
Witam!
Mam tabele: filmoteka gdzie między innymi mam atrybuty (kolumny): Tytul (varchar(30)), rezyser_id(smallint), gatunek_id(smallint)
. Rezyser_id jest obcym kluczem do tabeli rezyserzy gdzie mamy atrybuty: rezyser_id(smallint, PK), imie(varchar(10)), nazwisko(varchar(10)), kraj(varchar(10)) i następnie tabelę gatunki: gatunek_id(smallint, PK), typ(varchar(10)).

Chcę napisać kwerendę która zwróci relację: Tytuł(z tabeli filmoteka), Imie, Nazwisko (z tabeli rezyserzy), Typ (z tabeli gatunki).
Umiem to napisać nie wykorzystując klauzuli JOIN, działa i wygląda to tak (operator "+" jest operatorem konkatenacji z MS SQL, ponieważ jestem na WINDOWSIE gdzie mam tylko MS SQL-a):

Kod
SELECT a.Tytul, (b.imie + ' ' + b.nazwisko)AS 'Rezyser', c.typ AS 'Gatunek'
FROM filmoteka a, rezyserzy b, gatunki c
WHERE a.rezyser_id = b.rezyser_id AND a.gatunek_id = c.gatunek_id;


Proszę o wersję z zagnieżdżonymi INNER JOIN.
z góry dzięki!
kefirek
Chyba o tak bedzie
  1. SELECT f.*, r.*, g.* FROM filmoteka f
  2. LEFT JOIN rezyserzy r ON r.rezyser_id=f.rezyser_id
  3. LEFT JOIN gatunki ON f.gatunek_id=g.gatunek_id
bjera
dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.