Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podwojne laczenie
Forum PHP.pl > Forum > Bazy danych > MySQL
Serg_
Witam
Mam nastepujacy problem:
Tabela - zadania, pola: ID_uzytkownik_od, ID_uzytkownik_do
Tabela - uzytkownicy, pola: ID_uzytkownik, nazwa

Potrzebuje jednym zapytaniem polaczyc do tabeli zadan dwa razy tabele uzytkownikow(zeby pobrac nazwe uzytkownika). Moje kulawe zapytanie:
  1. SELECT zadania.ID_uzytkownik_od, zadania.ID_uzytkownik_do, uzytkownicy.nazwa
  2. FROM zadania LEFT JOIN uzytkownicy ON zadania.ID_uzytkownik_od = uzytkownicy.id AND zadania.ID_uzytkownik_do = uzytkownicy.id

niestety pluje NULLami.

Bede wdzieczny za wszelkie sugestie

Pozdrawiam

Serg
Droopy
szczerze ci powiem, że nie wiem po co ci tam LEFT JOIN
albo cie źle zroumiałem....
ja bym to tak zrobił:
  1. SELECT zadania.ID_uzytkownik_od, zadania.ID_uzytkownik_do, uzytkownicy.nazwa
  2. FROM zadania, uzytkownicy
  3. WHERE zadania.ID_uzytkownik_od = uzytkownicy.id AND zadania.ID_uzytkownik_do = uzytkownicy.id
Serg_
Tak tez probowalem, ale w tym wypadku baza zwraca tyko te rekordy, w ktorych uzytkownik_od i uzytkownik_do maja ten sam ID (patrzac na to zapytanie wydaje sie to byc zrozumiale).

Jak sie okazalo chodzilo o aliasy:
  1. SELECT u1.nazwa, u2.nazwa
  2. FROM zadania, uzytkownicy AS u1, uzytkownicy AS u2
  3. WHERE zadania.ID_uzytkownik_od = u1.id AND zadania.ID_uzytkownik_do = u2.id

A z JOINem to by bylo chyba tak:
  1. SELECT u1.nazwa, u2.nazwa
  2. FROM zadania AS z
  3. JOIN uzytkownicy AS u1, uzytkownicy AS u2 ON (z.ID_uzytkownik_od=u1.id) AND (z.ID_uzytkownik_do=u2.id)


Pozdrawiam

Serg
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-2024 Invision Power Services, Inc.