我想列出患者及其最近的主要保险福利。我有涉及三个表,在MYSQL的多个表中选择MAX
患者(包括病人的人口统计数据)
福利(包括保险金信息)
rel_pat_ben(匹配与相应的按键病人表的主键上的收益表)
我几乎解决了这个问题:
SELECT p.patient_id,MAX(b.benefits_id),b.effective_date
FROM患者为P
LEFT JOIN rel_pat_ben AS RPB USING(patient_id)
LEFT JOIN好处为b ON(rpb.benefits_id = b.benfits_id AND b.order = '初级')
GROUP BY patient_id
使用MAX似乎工作,因为id字段是自动递增的,但是当我发现使用较新信息编辑具有较低id的记录时,我意识到了我的问题。所以真的,我需要检查'effective_date'字段。
是否有一种方法可以只为每位患者返回一条只包含最近保险利益的记录?
我添加了“最大每个组的标签。这类SQL问题已经被很多次的回答了。 –
谢谢Bill!我保证在询问之前我努力寻找答案。我发现了很多类似的问题,但都没有解决我确切的问题。希望这会帮助下一个人。 – Charlie