Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: moj pierwszy left join [dziala :)]
Forum PHP.pl > Forum > Przedszkole
esos
witam
zapytanie dziala poprawnie, chcialbym sie jedynie dowiedziec czy nie robie czasami czegos naokolo winksmiley.jpg lub czy mozna jeszcze jakos zmniejszyc kod

tabele

konie: id | miasto | woj
wojewodztwa: id | nazwa

polaczenie i wyplucie wynikow:

  1. <?php
  2. $sukces=mysql_query("SELECT konie.id, konie.miasto, konie.woj, wojewodztwa. * FROM konie
  3. LEFT JOIN wojewodztwa ON konie.woj = wojewodztwa.id WHERE konie.id !=0 limit 50");
  4. while($rekord = mysql_fetch_array($sukces))
  5. {
  6. echo $rekord['miasto']." - ".$rekord['nazwa']."<br>";
  7. };
  8. ?>



zalozenie - ma sie pojawic zestaw miasto - wojewodztwo
warunek (konie.id!=0) dalem pierwszy lepszy zeby cokolwiek mi wyskoczylo winksmiley.jpg

czy powyzsze zapytanie jest zgodne z wszelakimi prawidlami itp? smile.gif nie generuje bledow, ale wole sie dopytac niz robic jakies gnioty niepotrzebnie obciazajace baze.
dr_bonzo
Czy rzeczywiscie potrzebujesz LEFT [OUTER] JOINA? Czy nie wszystkie konie maja przypisane wojewodztwa? Zapewne wystarczy ci zwykly JOIN (INNER JOIN). Doczytaj o roznicach miedz tymi zlaczeniami.
Skobi
dokładnie LEFT OUTER JOIN stosuj jeżeli konie.woj masz ustawione na NULL, a jezeli masz ustawione na NOT NULL wtedy stosuj INNER JOIN badz zlaczenie w klauzuli WHERE, poniewaz wtedy masz pewnosc ze wojewodztwo musi sie znajdowac w tabeli konie
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.