Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> LEFT JOIN trzech tabel z opcjonalnym NULL
Spooky2
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.06.2007

Ostrzeżenie: (0%)
-----


Witam. Kiepski jestem w tym temacie sad.gif Mam problem chyba z dosyć prostą sprawą - połączeniem głównej tabeli zawierająćej klucze obce z 3 innymi tabelami.
Problem jest tego typu, iż tylko jeden z trzech kluczy w głowej tabeli zawsze przybiera jakąś wartość, natomiast pozostałe dwa klucze obce mogą przyjmować (choć nie muszą) NULL.
  1. SELECT * FROM klienci_umowy
  2. LEFT JOIN (opcje_t1, opcje_t2, rodzaje_umowy
  3. ) ON
  4. ( klienci_umowy.id_opcji_t1 = opcje_t1.id_opcji_t1
  5. AND klienci_umowy.id_opcji_t2 = opcje_t2.id_opcji_t2
  6. AND klienci_umowy.id_rodzaju_um_t1 = rodzaje_umowy.id_rodzaju_umowy)


klucze w tabeli klienci_umowy tj. id_opcji_t2, id_opcji_t3 (tutaj akurat nie ma) moga miec jakas wartosc, ale rownie dobrze moga byc puste. Natomiast id_opcji_t1 zawsze przyjmuje jakas wartosc. W wyniku powiazan, w przypadku, gdy wartosc klienci_umowy.id_opcji_t2 ma wartosc nULL, wszystkie pola z tabeli opcje_t1 i opcje_t2 przyjmuja wartosc NULL, co oczywiscie jest bledem.. powinno zwrocic wartosci w polach tabeli opcje_t1, a NULL opcje_t2 (jesli klienci_umowy.id_opcji_t2 mialo bylo puste) Jak to poprawic?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:06