0

我正在使用 MS Access 2007 查询,其中包含以下列: PATIENT_NUMBER DATE_OF_VISIT BMI

该查询包含每个 PATIENT_NUMBER 的多个 DATE_OF_VISITS(具有关联的 BMI)。我一直在尝试使用 SQL 为我提供一份不重复的列表,其中包含最近就诊日期和那次就诊时的 BMI 的所有患者。

到目前为止,我可以获得每个患者最近就诊日期的列表,但是当我尝试获得 BMI 时,我开始获得多个患者实例(因为他们的 BMI 会随着时间而波动)

4

1 回答 1

1

It always helps to include any queries that you've tried in the question. I think you need something like this:

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;

This assumes that there are not duplicate dates for the same patient. If so, you will need some other method to disambiguate them.

于 2013-11-04T14:57:53.200 回答