【发布时间】:2014-06-26 02:48:30
【问题描述】:
我要从 Oracle 数据库中查询三个表。以下是我试图访问的表格及其内容:
患者表: 访问编号,Pat_Seq
med_admin 表: Pat_Seq、Drug_ID、Dose_Given、Administered_Time
药物表: Drug_Name、Drug_ID
我需要提取 Drug.Drug_Name、Med_Admin.Dose_Given、Med_Admin.Administered_Time 但我还需要将其过滤到最近日期的 Med_Admin.Drug_ID。
我老板的说法是“我需要一份患者用药清单,并注明最近的日期/时间。这是我目前的查询:
SELECT to_char(a.administered_time, 'DD-Mon-YYYY HH24:MI:SS') AS "Administered Date",
d.drug_name AS "Drug Name"
FROM med_admin a
JOIN drug d ON a.drug_id = d.drug_id
WHERE a.drug_id IN(select distinct(d.drug_id) from drug d)
每当我添加 Med_Admin.Administered_Time 时,它都会为给定的每个 med 添加行。想法?
【问题讨论】:
-
您需要为一位患者还是为所有患者服用最新的药物。
-
我需要为一名患者服用的最新药物,我通过加入患者表并按就诊编号进行搜索来深入了解该药物。