Я слепо смотрю на этот запрос MYSQL. Это не должно быть так сложно, и я получаю результаты, но не тот, который я хочу. Большое спасибо за вашу помощь!
врач
dctr_id | dctr_name | ...
--------------------------
60 | Bezant
посещения
vist_id | dctr_id| prsnl_id | visit_date | ...
-----------------------------------------------
1 | 60 | 86 | 2018-12-31
1011 * несчастных случаев *
acc_id | dctr_id | prsnl_id| acc_date | ...
--------------------------------------------
51 | 60 | 86 | 2018-12-25
55 | 60 | 86 | 2018-12-20
* 1014 Аренда персонала *
prsnl_id | prsnl_name | ...
---------------------------
79 | test_name2
86 | test_name
Я пробовал разные типы запросов, но ни один из них не помог. отчетливый, группирующийся, ...
Я получаю этот результат:
dctr_id | dctr_name | visit_id | visit_date | acc_id | acc_date | prsnl_id | prsnl_name
-----------------------------------------------------------------------------------------
60 | Bezant | 1 | 2018-12-31 | 51 | 2018-12-25 | 79 | test_name2
60 | Bezant | 1 | 2018-12-31 | 51 | 2018-12-25 | 79 | test_name2
60 | Bezant | 1 | 2018-12-31 | 55 | 2018-12-20 | 86 | test_name1
SELECT DISTINCT dctr.dctr_id
, dctr.dctr_name
, vst.visit_id
, vst.visit_date
, acc.acc_id
, acc.acc_date,prsnl.prsnl_id
, prsnl.name
FROM doctor dctr
LEFT
JOIN visits vst
ON vst.dctr_id = dctr.dctr_id
LEFT
JOIN accidents acc
ON acc.dctr_id = dctr.dctr_id
LEFT
JOIN personell prsnl
ON prsnl.prsnl_id = vst.prsnl_id
OR prsnl.prsnl_id = acc.prsnl_id
WHERE dctr.dctr_id = 60
Я бы хотел получить следующий результат:
dctr_id | dctr_name | visit_id | visit_date | acc_id | acc_date | prsnl_id | prsnl_name
-----------------------------------------------------------------------------------------
60 | Bezant | 1 | 2018-12-31 | NULL | NULL | 79 | test_name2
60 | Bezant | NULL | NULL | 51 | 2018-12-25 | 79 | test_name2
60 | Bezant | NULL | NULL | 55 | 2018-12-20 | 86 | test_name1