【发布时间】:2014-02-05 19:29:48
【问题描述】:
我正在尝试从 proc_chron 的最近日期读取所有具有 4 个轴类别中任何一个结果的患者,并且患者在其 case_status 下处于(活跃)状态,不包括所有四个类别的患者为空。 SQL 服务器 2005。
select
pct.patient_id,
pct.clinic_id,
pct.axis_I_II_1,
pct.axis_I_II_2,
pct.axis_I_II_3,
pct.axis_III_1,
pct.proc_chron
from patient_clin_tran pct
join patient p
on p.patient_id = pct.patient_id
group by pct.patient_id, pct.clinic_id, pct.axis_I_II_1,pct.axis_I_II_2, pct.axis_I_II_3, pct.axis_III_1, p.case_status, pct.proc_chron
having p.case_status = 'a' and pct.proc_chron = (select max(pct.proc_chron))
order by pct.patient_id
【问题讨论】:
-
将
pct.proc_chron = (select max(pct.proc_chron)移动到 WHERE 并尝试。 -
不确定我是否理解您在说什么。我添加了一个 where 除了拥有和尝试与 group by 并已注释掉它仍然无法正常工作。
-
StevieG 已经发布了我要求您执行的操作,看看是否可行。
-
他发布的内容有误。我在他的下面发布了错误。
标签: sql sql-server-2005 group-by distinct