Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Left Join (problem z rezultatem)
Forum PHP.pl > Forum > Bazy danych
KotWButach
Witam,
mam problem z rezultatem zapytania. może ktoś kuma co robię źle.

Mam dwie tabele:
users (id, name, surname, email)
users_ref (id, id_user, id_user_ref)

Zapytanie
  1. SELECT u.email FROM `user` u LEFT JOIN `user_ref` r ON u.id_users = r.id_user WHERE r.id_user = 1


Problem w tym że jako wynik otrzymuje np: 3 razy id_user czyli rafał@example.com a chciałbym odczytać wartość z id_user_ref czyli adam@example.com, janek@example.com, kunegunda@example.com.

Czy ktoś wie co trzeba zmienić by zadziałało?
trueblue
Przede wszystkim nie jest potrzeby LEFT JOIN.
W Twoim przypadku główną tabelą będzie user_ref - dla INNER JOIN kolejność nie ma już takiego znaczenia, ale dla porządku:

  1. SELECT u.email
  2. FROM `user_ref` AS ur
  3. INNER JOIN `user` AS u ON u.`id` = ur.`id_user_ref` WHERE ur.`id_user` = 1


Sprawdź nazwy tabel i pól, bo podajesz inną strukturę i co innego w zapytaniu.
KotWButach
Sorki, przy upraszczaniu tabel i zapytania wprowadziłem błąd w nazwie.

@trueblue Twój przykład zadziałał znakomicie, dzieki 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.