Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jeden JOIN, kilka pól wynikowych - jak to ugryźć?
MistrzHTML
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 20.10.2006

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


Witam, załóżmy, że mam dwie tabele w bazie danych:



1) uczniowie - [ nr_ucznia | imie | nazwisko | nr_wychowawcy | nr_zastepcy ]




2) nauczyciele - [ nr_nauczyciela | imie | nazwisko ]



Jak za pomocą jednego zapytania pobrać nazwiska wychowawcy i zastępcy wychowawcy każdego ucznia? Tylko dla wychowawcy to nie problem:

  1. SELECT imie, nazwisko, CONCAT(nauczyciele.imie, ' ', nauczyciele.nazwisko) AS nazwisko_wychowawcy
  2. FROM uczniowie LEFT JOIN nauczyciele ON nauczyciele.nr_nauczyciela=uczniowie.nr_wychowawcy




Drugi raz nie mogę dołączyć tabeli nauczyciele, mogę zrobić coś takiego:

  1. SELECT imie, nazwisko, CONCAT(nauczyciele.imie, ' ', nauczyciele.nazwisko) AS nazwisko_wychowawcy
  2. FROM uczniowie LEFT JOIN nauczyciele ON nauczyciele.nr_nauczyciela=uczniowie.nr_wychowawcy OR nauczyciele.nr_nauczyciela=uczniowie.nr_zastepcy


Ale nie wiem jak pobrać oba nazwiska smile.gif Proszę o pomoc.

Ten post edytował MistrzHTML 16.12.2007, 11:59:44
Go to the top of the page
+Quote Post
Indeo
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


  1. SELECT U.imie, U.nazwisko, CONCAT(W.imie, ' ', W.nazwisko) AS nazwisko_wychowawcy,
  2. CONCAT(Z.imie, ' ', Z.nazwisko) AS nazwisko_zastepcy
  3.  
  4. FROM uczniowie U
  5. LEFT JOIN nauczyciele W ON W.nr_nauczyciela=U.nr_wychowawcy
  6. LEFT JOIN nauczyciele Z ON Z.nr_nauczyciela=U.nr_zastepcy



lub podzapytaniami:

  1. SELECT U.imie, U.nazwisko,
  2.  
  3. (SELECT CONCAT(imie, ' ', nazwisko) FROM nauczyciele WHERE nr_nauczyciela=U.nr_wychowawcy) AS nazwisko_wychowawcy,
  4. (SELECT CONCAT(imie, ' ', nazwisko) FROM nauczyciele WHERE nr_nauczyciela=U.nr_zastepcy) AS nazwisko_zastepcy
  5. FROM uczniowie U


--------------------
Go to the top of the page
+Quote Post
MistrzHTML
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 20.10.2006

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


Wielkie dzięki, ten pierwszy sposób o wiele bardziej mi się podoba - o to chodziło.
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 Aktualny czas: 21.08.2025 - 16:09