获取患者特定情节的具体数字

时间:2013-10-25 15:15:44

标签: sql sql-server-2005 group-by where

我正在尝试为每位患者获取最新的axis_I_II_3号码。我需要一种方法来获取每个patient_id的最高集编号的最新日期。希望有人可以帮助我。

select

distinct pct.patient_id,
pct.episode_id,
pct.axis_I_II_3,
pct.proc_chron,
pct.clinic_id

from patient_clin_tran pct
join patient p on pct.patient_id = p.patient_id
where pct.axis_I_II_3 is not null and p.case_status = 'A' and pct.patient_id not in ('00000004')

enter image description here

1 个答案:

答案 0 :(得分:1)

这种结构会给你答案。

select  pct.patient_id,
pct.episode_id,
pct.axis_I_II_3,
pct.proc_chron,
pct.clinic_id

from patient_clin_tran pct
join patient p on pct.patient_id = p.patient_id
join (
select patient_id, max(proc_chron) maxdate
from patient_clin_tran
where whatever
group by patient_id
) temp on temp.patient_id = pct.patient_id and pct.proc_chron = maxdate
etc

您可以添加where子句并修复我可能犯的任何语法错误。