2

我在 Oracle APEX 工作。我正在从以下四个表中制作报告,Patient History Junction and Disease但无法制作。

我想要SELECT

Pat_Name,Pat_Age` 来自患者表

.

历史表中的 Treated_By、Sys_Date

Dis_Name 来自疾病表

. 之间有一个JunctionHistory and Disease。下面是上述场景的示意图。

在此处输入图像描述

4

1 回答 1

1

您需要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 JOINbetween patientandhistory并在patient. 这种类型的连接将返回两个表中的所有匹配记录。

LEFT JOIN在其他两个表上使用了 a ,即使其他两个表中没有匹配的记录,它也会返回所有患者/历史数据。根据您的需要,您可能可以INNER JOIN在这些表上使用。

于 2013-01-17T10:06:11.270 回答