Zapytanie SQL z podwójną relacją

0

Witam mam problem z poprawnym skonstruowaniem zapytania do bazy MySQL. Wycinek z bazy w załączniku.

Chciałbym po wprowadzeniu zapytania otrzymać dane na temat "Wizyty" pacjenta u lekarza.

Tabelę uzytkownik mam w podwójnej relacji z tabelą wizyta. W tabeli wizyta są dwa klucze obce id_pacjent oraz id_lekarz, oba klucze powiązane są z tym samym kluczem głównym id w tabeli uzytkownik.

Problem polega na tym, że nie potrafię wykombinować zapytania aby otrzymać imię pacjenta oraz imię lekarza przypadających na jedną wizytę.

Czy jest to w ogóle możliwe, czy będzie konieczna zmiana struktury bazy danych ?

1
SELECT wizyta.data_wizyty, 
       Lekarz.nazwisko, 
       Pacjent.nazwisko 
FROM   wizyta 
       INNER JOIN uzytkownik AS Lekarz 
               ON Lekarz.id = wizyta.id_lekarz 
       INNER JOIN uzytkownik AS Pacjent 
               ON Pacjent.id = wizyta.id_pacjent 
0

Świetnie, działa, dzięki wielkie. Nigdy jeszcze nie używałem INNER JOIN, więc muszę się jeszcze podszkolić z SQL.

0

Właściwie to nie musiałeś nigdy korzystać z inner join'ów żeby rozwiązać ten problem.
Mianowicie mogłeś to zrobić klasycznie WHERE'm
SELECT wizyta.data_wizyty,
Lekarz.nazwisko,
Pacjent.nazwisko
FROM wizyta
,uzytkownik AS Lekarz
,uzytkownik AS Pacjent
WHERE Lekarz.id = wizyta.id_lekarz
AND Pacjent.id = wizyta.id_pacjent

1 użytkowników online, w tym zalogowanych: 0, gości: 1