Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> polaczenie 3 tabel
a79rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


mam nastepujace pytanie
mam 3 tabele

Kod
SELECT * FROM uzytkownik LEFT JOIN uz_staz ON uz_staz_uz_id=uz_id WHERE $warunki AND uz_status = '1' GROUP BY uz_id


powyzsze zapytanie zwraca mi pola z tabeli uzytkownik ktore mają spelnione warunki dla tych dwoch tabeli i identyczne id
jak dolozyc do tego tab3 czyli 3cią tabele, tak zeby zwracalo mi tylko te pola ktore: maja identyczne id dla tabeli uzytkownik i tab3
oraz spełniony dodatkowo jakistam warunek dla tab3 (np costam like costam3)

podejrzewam ze sprowadza sie to do dodatkowego left joina ale nie wiem jak to zapisac


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nocnyMark()
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 26.04.2004

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


zapytanie zwracajace wszystkie pozycje z tabeli uzytkownik, plus dopasowanie wg regul pol z uz_stat i tab3, gdzie nie pasuja pola z uz_staz i tab3, tam bedzie wyswietlany NULL
  1. SELECT *
  2. FROM uzytkownik LEFT JOIN uz_staz ON uz_staz.uz_id=uzytkownik.id
  3. LEFT JOIN tab3 ON tab3.id=uzytkownik.id AND tab3.costam=wartosc
  4. WHERE $warunki AND uzytkownik.STATUS = '1'


lub:

zapytanie zwracajace tylko te pola z tabeli `uzytkownik` i `tab3` gdzie spelnione sa warunki, plus dodatkowo wg regol dopasowanie z tabeli `uz_stat`, gdzie nie dopasuje to NULL
dodatkowo, pole `costam` w tabeli `tab3` musi spelniac warunek 'wartosc'

  1. SELECT *
  2. FROM uzytkownik, tab3
  3. LEFT JOIN uz_staz ON uz_staz.uz_id=uzytkownik.id
  4. WHERE $warunki AND uzytkownik.STATUS = '1' AND tab3.id=uzytkownik.id AND tab3.costam=wartosc
Go to the top of the page
+Quote Post
a79rtur
post
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


dzieki wielkie, działają oba, i dają mi to samo,
nie za bardzo rozumiem roznice, mozesz wyjasnic tak z ciekawosci ?


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Przeciez @nocnyMark() wyjasnil czym sie roznia. Poczytaj o zlaczeniach to zobaczysz roznice.

W przykladzie 2 jesli warunke zlaczenia nie jest spelniony to rekordy z tabeli uzytkownik nie sa zwracane, a w 1 zapytaniu jesli nie spelnia warunku to zwraca rekordy z tabeli uzytkownik i dolancza z wartoscia NULL. Moze to Ci cos rozjasni.


--------------------
Go to the top of the page
+Quote Post

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: 21.08.2025 - 18:35