我正在使用MS Access 2007,其查询包含以下列: PATIENT_NUMBER DATE_OF_VISIT BMI
查询包含每个PATIENT_NUMBER的多个DATE_OF_VISITS(带有关联的BMI)。我一直在尝试使用SQL给我一个重复列表,列出了最近访问日期和访问时的BMI。
到目前为止,我可以获得每位患者最近一次就诊日期的清单,但是当我尝试获得BMI时,我开始接受多个患者病例(因为他们的BMI随时间波动)
答案 0 :(得分:1)
包含您在问题中尝试的任何查询总是有帮助的。我想你需要这样的东西:
select t.PATIENT_NUMBER, t.DATE_OF_VISIT, t.BMI
from t inner join
(select PATIENT_NUMBER, max(DATE_OF_VISIT) as maxdate
from t
group by PATIENT_NUMBER
) tmax
on t.PATIENT_NUMBER = tmax.PATIENT_NUMBER and t.DATE_OF_VISIT = tmax.maxdate;
这假设同一患者没有重复日期。如果是这样,您将需要一些其他方法来消除歧义。