Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 10.07.2003 Ostrzeżenie: (0%)
|
W tabeli "stoliki" jest więcej stolików. Jak zastosować opcję LEFT JOIN tak żeby wypisał mi wszystkie stoliki z tabeli a nie tylko te które mają powiązania?
Dzieki wielkie [sql:1:05e787ba09] select distinct (stolik.id_stolika), sektor.id_sektora, kondygnacja.id_kond, rezerwacja.data_rez, rezerwacja.od_rez from stolik join sektor join kondygnacja join rezerwacja on stolik.id_sektora=sektor.id_sektora and sektor.id_kond=kondygnacja.id_kond and stolik.id_stolika=rezerwacja.id_stolika where kondygnacja.id_kond='1' and (stolik.id_sektora=sektor.id_sektora) [/sql:1:05e787ba09] |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 2.01.2004 Skąd: Lublin Ostrzeżenie: (0%)
|
Załóżmy, że są takie dwie tabele: "samochody", "extra_wyposazenie" i chcesz jednocześnie wybrać wszystkie samochody, które mają extra wyposażenie i te, które go nie mają.
Jeśli zrobisz tak: Kod SELECT * from samochody as a, extra_wyposazenie as b WHERE a.samochod_id = b.samochod_id;
dostaniesz tylko te, które mają extra wyposażenie, ścislej mówiąc, tylko te, dla których istnieje rekord w tabeli "extra_wyposazenie". Żeby osiągnąć efekt musisz użyć czegoś takiego: Kod SELECT * from samochody as a LEFT JOIN extra_wyposazenie as b ON ( a.samochod_id = b.samochod_id );
Teraz będziesz miał wszsytkie samochody, a w wierszach z samochodami, dla których nie istniał rekord w "extra_wyposazenie" będziesz miał wartości NULL dla pól z tej tabeli. Wolę wytłumaczyć i zmusić do praktykowania niż podać na tacy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Mam nadzieje, że to się da zrozumieć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zaznaczam, że przy uzywaniu LEFT JOIN'a ma znaczenie, która tabelę postawimy z lewej strony, a która z prawej. |
|
|
|
dareckiphp Problem z zapytaniem (LEFT JOIN) 10.05.2004, 13:50:04
dareckiphp Ja wiem jaka jest składnia, problem w tym, że nie ... 10.05.2004, 14:14:03 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 02:12 |