Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z zapytaniem z uzyciem Left Join
Forum PHP.pl > Forum > Bazy danych > MySQL
MakS
Mam dwie tabele typy i druzyny, w pierwszej mam liste meczy do typowania.
Mam w niej id, gosp_id, gosp, gosc_id, gosc gdzie gosp_id jest to id druzyny z tabeli druzyny i tak samo gosc_id
Teraz przy dodawaniu meczy do tabeli typy jak brakuje druzyny w tabeli druzyny to moge wpisac ja recznie i wtedy dodaje ja w komorce gosp i gosc
np.
id | gosp_id | gosp | gosc_id | gosc
1 | 0 | France | 0 | Holland
2 | 2 | | 261 |

i teraz nie wiem jak te dane wyswietlic tak zeby wyswietlalo mi zamiast gosp_id i gosc_id druzyne o tym id, oczywiscie jesli taka istnieje.

Umiem to zrobic dla np tylko gosp_id i wtedy mam:
  1. SELECT t.id, d.nazwa AS d_gosp, t.gosp, t.gosc FROM typy t LEFT JOIN druzyny d ON t.gosp_id = d.id ORDER BY t.data_godz ASC

tylko jak to teraz zrobic dla dwóch (dla gosp_id i gosc_id) ?
Dzieki za wszystkie odpowiedzi
bendi
  1. SELECT
  2. t.id,
  3. d.nazwa d_gosp,
  4. d2.nazwa d_gosc,
  5. t.gosp,
  6. t.gosc
  7. FROM typy t
  8. LEFT JOIN druzyny d ON t.gosp_id = d.id
  9. LEFT JOIN druzyny d2 ON t.gosc_id = d2.id
  10. ORDER BY t.data_godz ASC


no chyba, że nie zrozumiałem i chodzi Ci o coś takiego:
  1. SELECT
  2. t.id,
  3. d.nazwa d_gosp,
  4. t.gosp,
  5. t.gosc
  6. FROM typy t
  7. LEFT JOIN druzyny d ON t.gosp_id = d.id AND t.gosc_id = jakiestam_id
  8. ORDER BY t.data_godz ASC
MakS
Dobrze zrozumiales, chodzilo mi wlasnie o to pierwsze zapytanie i widze ze nawet nie bylem daleko od poprawnej odpowiedzi smile.gif

Dzieki
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.