Mam następujący schemat bazy:
Każdy lekarz ma listę raportów.
W raportach znajdują się informacje o pacjentach.
Dla danego lekarza potrzebuję wybrać informację dotyczącą listy pacjentów, którym wystawił raporty.
Przykład - jeżeli tabela raportów wygląda tak:
id_report | id_doctor | id_patient
---------------- | -------------------
1 | 1 | 1
2 | 1 | 1
3 | 1 | 2
4 | 1 | 2
5 | 1 | 3
To lekarz o id = 1 wystawiał raporty trzem pacjentom.
I dla każdego pacjenta potrzebuję pobrać pole personal_id_number z tabeli Patient oraz pola first_name, last_name z tabeli User.
Stworzyłem takie zapytanie (kierując się tym tematem)
select DISTINCT u.first_name, u.last_name, p.personal_id_number from report r, patient p, user u where r.doctor_id = p.doctor_id and p.user_id = u.id and r.doctor_id = 1
Czy takie zapytanie jest zrobione prawidłowo?
Jeśli nie - co robię źle?