Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielokrotny JOIN i rekordy NULL
Forum PHP.pl > Forum > Bazy danych > MySQL
thomash666
Witajcie.
Od dłuższego czasu męczę się ze stworzeniem zapytania, do rzeczy:

4 tabele:
Tabela klient:
id nazwa_klienta, NIP, adres, id_opiekuna, id_dostawcy, id_przewoznika

Tabela opiekun:
id_opiekuna, imie, nazwisko, telefon, email

Tabela dostawca:
id_dostawcy, imie, nazwisko, telefon, email

Tabela przewoznik:
id_przewoznika, imie, nazwisko, telefon, email

Chciałbym przy użyciu JOIN stworzyć widok, kóry wyświetliłby:
  1. nazwa_klienta, NIP, adres, opiekun_imie, opiekun_nazwisko, opiekun_telefon, opiekun_email, dostawca_imie, dostawca_nazwisko, dostawca_telefon, dostawca_email, przewoznik_imie, przewoznik_nazwisko, przewoznik_telefon, przewoznik_email

Wyzwaniem dla mnie jest zrobienie tego tak, żeby w przypadku braku powiązania po id w tabeli klient zwracane były wartości NULL, a nie pomijany rekord.

Próbowałem czegoś takiego:

  1. CREATE VIEW razem AS
  2. SELECT nazwa_klienta, NIP, adres, opiekun_imie, opiekun_nazwisko, opiekun_telefon, opiekun_email, dostawca_imie, dostawca_nazwisko, dostawca_telefon, dostawca_email, przewoznik_imie, przewoznik_nazwisko, przewoznik_telefon, przewoznik_email
  3. FROM klient
  4. INNER JOIN opiekun ON klient.id_opiekuna=opiekun.id_opiekuna
  5. INNER JOIN dostawca ON klient.id_dostawcy=dostawca.id_dostawcy
  6. INNER JOIN przewoznik ON klient.id_przewoznika=przewoznik.id_przewoznika


Rekordy w widoku pojawiają się tylko w przypadku, gdy wszystkie id są wypełnione.

pomocy smile.gif
mmmmmmm
LEFT JOIN
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.