我有两个像这样的桌子

患者(表1)

id |  name
------------
1  | robel
2  | dave


Patient_followup(表2)

 id | Patient_id | date_created
 -----------------------
 1  | ---- 1  -- | 01/01/2015
 2  | -----1  -- | 01/07/2016


我想向所有患者展示他们最新的随访数据。所以我尝试使用此查询

Select * from patient
left join Patient_followup pf on pf.Patient_id = patient.id
order by pf.date_created
Limit 1


但这只是给我第一个耐心的罗贝尔。我尝试取消限制,并给了我两张robel记录和一张dave记录,因为robel有两个跟踪数据。那我该怎么做才能让每个病人只得到一份记录?

最佳答案

尝试这个:

Select
    *
from
    patient
left join
    (SELECT
        id as pf_id,
        MAX(date_created) as latest_followup_date,
        Patient_id
     FROM
        Patient_followup
     GROUP BY
        Patient_id) as pf
ON pf.Patient_id = patient.id

关于mysql - mysql在左联接中使用限制不能正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40345549/

10-12 14:01