Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: #1054 - Nieznana kolumna czyli problem z JOINem
Forum PHP.pl > Forum > Bazy danych > MySQL
Tomplus
Witam,

Proszę o pomoc bo w rozwiązaniu problemu z zapytaniem w którym są JOINy i pojawia się komunikat
  1. #1054 - Nieznana kolumna 'k1.manager' w on clause


najpierw powiem że problem pojawił się po zmianie bazy danych z 4.1 na 5.1, taki skok wersji wyraźnie jest odczuwalny - szybkość strony zwiększyła się znacząco, ale jedno z zapytań oferuje powyższy błąd.

Tutaj podaje źródło SQL
  1. SELECT w.wynikhome wh,w.wynikaway wa, k1.nazwa n1, k2.nazwa n2,k1.id k1, k2.id k2, w.home w1, w.away w2, k1.manager m1, k2.manager m2, m1.ksywa ma1, m2.ksywa ma2
  2. FROM sm_wyniki w, kluby k1, kluby k2
  3. LEFT OUTER JOIN manadzerowie m1 ON m1.id=k1.manager
  4. LEFT OUTER JOIN manadzerowie m2 ON m2.id=k2.manager
  5. WHEREk1.id = w.home AND k2.id=w.away ORDER BY liga ASC,kolejka


W wersji 4.1 wyświetla WSZYSTKO, w wersji 5.1 nie istnieje k1.manager (k2.manager pewnie też)

nospor
NIe: FROM sm_wyniki w, kluby k1, kluby k2
a: FROM (sm_wyniki w, kluby k1, kluby k2)
Tomplus
Nie mogę uwierzyć że to taki banał.

Ale w takim razie koniecznie trzeba się nauczyć żeby pilnować takich rzeczy jak nawiasy także w sekcji FROM, JOIN pytanie czy dobrym obyczajem będzie otulanie nawiasami to co zawieram w SELECT lub WHERE, ORDER itd ?

Dziękuje!
nospor
Gdyby kluby k1 były jako ostatnie we FROM to wówczas by na tym się nie wywaliło.... ale by się wywaliło na k2 smile.gif
Po prostu join widzi tylko to co ostatnie we FROM - no chyba ze całość jest właśnie objęta nawiasem. Na stronie mysql to wyjaśniali - wiem, bo sam kiedyś przy przesiadce z mysql 4 na 5 miałem identyczny problem smile.gif
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.