Zapytanie SQL z podwójną relacją

Odpowiedz Nowy wątek
2013-09-06 13:21

Rejestracja: 6 lat temu

Ostatnio: 3 lata temu

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 ?

edytowany 1x, ostatnio: Adaminho, 2013-09-06 13:21

Pozostało 580 znaków

2013-09-06 13:42

Rejestracja: 8 lat temu

Ostatnio: 1 dzień temu

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 
edytowany 2x, ostatnio: krupnick, 2013-09-06 13:44

Pozostało 580 znaków

2013-09-06 15:05

Rejestracja: 6 lat temu

Ostatnio: 3 lata temu

0

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

Pozostało 580 znaków

PawlakSocho
2013-09-12 09:27
PawlakSocho
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

Pozostało 580 znaków

Odpowiedz

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