如何在给定3个表中的一组条件的情况下返回值



我试图让数据表在给定某些条件的情况下返回一个最新值,如果满足这些条件,则返回一个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

最新更新