我在 Oracle APEX 工作。我正在从以下四个表中制作报告,Patient History Junction and Disease
但无法制作。
我想要SELECT
Pat_Name,Pat_Age` 来自患者表
.
历史表中的 Treated_By、Sys_Date
和
Dis_Name 来自疾病表
. 之间有一个Junction
表History and Disease
。下面是上述场景的示意图。
您需要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
如果您在学习连接语法方面需要帮助,请查看这个有用的连接视觉解释。
请注意,我使用了一个INNER JOIN
between patient
andhistory
并在patient
. 这种类型的连接将返回两个表中的所有匹配记录。
我LEFT JOIN
在其他两个表上使用了 a ,即使其他两个表中没有匹配的记录,它也会返回所有患者/历史数据。根据您的需要,您可能可以INNER JOIN
在这些表上使用。