我试图让数据表在给定某些条件的情况下返回一个最新值,如果满足这些条件,则返回一个null。
我想知道最后一次联系病人是什么时候。这与进度说明主题为"患者联系人"相关联。因此,当查看从下表中提取的数据表时,应该如何对其进行编码以显示日期?
Patient Table
- MRN
- 名称
- 电话
进度说明表
- 主键
- MRN
- 名称
- 主题
- 日期
- 车身
有序治疗
- MRN
- 名称
- 治疗
结果是
名称----MRN-Therapy-最后一位患者联系
J.Doe----123-----泵----2/10/14
A.Smith--342-----敷料
D.里克斯-----984----表面--9/16/14
使用LEFT JOIN
获取所有患者,如果未找到进度记录,则使用NULL值,使用GROUP BY
获取最后一次患者联系日期。
SELECT P.Name, P.MRN , MAX(Therapy) as Therapy, MAX([Date]) as [Last Pt. Contact]
FROM Patient P
LEFT JOIN ProgressNotes PN
ON P.MRN = PN.MRN
LEFT JOIN OrderedTherapy O
ON O.MRN = P.MRN
GROUP BY P.Name, P.MRN