我正在尝试列出患者及其最近的主要保险福利。我涉及三张桌子,
患者(包含患者人口统计数据)
福利(包含保险福利信息)
rel_pat_ben(将患者表的主键与福利表上的相应键匹配)
我几乎解决了这个问题:
SELECT p.patient_id, MAX(b.benefits_id), b.effective_date
FROM patients AS p
LEFT JOIN rel_pat_ben AS rpb USING(patient_id)
LEFT JOIN benefits AS b ON (rpb.benefits_id=b.benfits_id AND b.order='primary' )
按患者 ID 分组
使用 MAX 似乎可以工作,因为 id 字段是自动递增的,但是当我发现使用更新信息编辑具有较低 id 的记录的情况时,我意识到了我的问题。所以真的,我需要检查“有效日期”字段。
有没有办法只为每位患者返回一个仅包含最近保险福利的记录?