Вы должны JOIN
каждой из таблиц, похожее на это:
select p.pat_name,
p.pat_age,
h.treated_by,
h.sys_date,
d.dis_name
from patient p
inner join history h
on p.pat_id = h.pat_id
and p.app_id = h.app_id
left join junction j
on p.pat_id = j.pat_id
left join disease d
on j.dis_id = d.dis_id
Если вам нужна помощь обучение присоединиться синтаксис, проверьте полезный visual explanation of joins.
Обратите внимание, что я использовал INNER JOIN
между patient
и history
и присоединился к таблицам на обоих ключей в patient
. Этот тип соединения возвращает все сопоставимые записи в обеих таблицах.
Я использовал LEFT JOIN
на двух других таблицах, которые возвратят все данные о пациенте/истории, даже если в двух других таблицах нет соответствующей записи. В зависимости от ваших потребностей вы можете использовать INNER JOIN
на этих таблицах.
Спасибо @bluefeet .. Это работает –