Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 5 LEFT JOIN-ów?
piotrek24
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 22.07.2006

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


Mam tabelę "uzytkownicy" z polami:

uzytkownik_id
uzytkownik_nazwa

oraz tabelę "zadania" z polami

zadanie_id
czynnosc_1
uzytkownik_id_1
czynnosc_2
uzytkownik_id_2
czynnosc_3
uzytkownik_id_3
czynnosc_4
uzytkownik_id_4
czynnosc_5
uzytkownik_id_5

Oczywiście poszczególne czynności mogą wykonywać ci sami bądź różni użytkownicy.

I teraz chcę wyświetlić 1 wiersz z tabeli "zadania" przydzielając każdemu numerowi id użytkownika odpowiednią mu nazwę z tabeli "uzytkownicy". Czy jedynym i najprostszym rozwiązaniem tego problemu jest użycie aż (a może tylko?) 5 złączeń zewnętrznych LEFT JOIN ?

Czyli:

  1. SELECT a.czynnosc_1, a.czynnosc_2, a.czynnosc_3, a.czynnosc_4, a.czynnosc_5, b.uzytkownik_nazwa AS uzytkownik_nazwa_1,
  2. c.uzytkownik_nazwa AS uzytkownik_nazwa_2, d.uzytkownik_nazwa AS uzytkownik_nazwa_3, e.uzytkownik_nazwa
  3. AS uzytkownik_nazwa_4, f.uzytkownik_nazwa AS uzytkownik_nazwa_5
  4. FROM zadania a
  5. LEFT JOIN uzytkownicy b ON a.uzytkownik_id_1 = b.uzytkownik_id
  6. LEFT JOIN uzytkownicy c ON a.uzytkownik_id_2 = c.uzytkownik_id
  7. LEFT JOIN uzytkownicy d ON a.uzytkownik_id_3 = d.uzytkownik_id
  8. LEFT JOIN uzytkownicy e ON a.uzytkownik_id_4 = e.uzytkownik_id
  9. LEFT JOIN uzytkownicy f ON a.uzytkownik_id_5 = f.uzytkownik_id
  10. WHERE zadanie_id = 1
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 19.08.2025 - 20:58