Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Left Join (problem z rezultatem)
KotWButach
post 2.12.2020, 22:13:00
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


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?

Ten post edytował KotWButach 2.12.2020, 22:13:28
Go to the top of the page
+Quote Post
trueblue
post 2.12.2020, 22:28:28
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


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.

Ten post edytował trueblue 2.12.2020, 22:42:12


--------------------
Go to the top of the page
+Quote Post
KotWButach
post 2.12.2020, 23:04:59
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


Sorki, przy upraszczaniu tabel i zapytania wprowadziłem błąd w nazwie.

@trueblue Twój przykład zadziałał znakomicie, dzieki smile.gif.
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 Wersja Lo-Fi Aktualny czas: 29.03.2024 - 10:09