I have two tables, visits and encounters. Each Visit by a student may have several encounters, at different times. I would like a query with visitid, encounterid, and encounterdate showing ONLY the latest encounter for each visit, My results MUST include visits with no encounters.
My tables ;
| Visits | 
|---|
| visit_id | 
| studenti_id | 
| Encounters | 
|---|
| encounter_id | 
| visit_id | 
| encounter_datetime | 
What I have tried
select 
       Visits.visit_id, 
       Encounters.encounter_id,
       Encounters.encounter_datetime
FRom Visits
     LEFT OUTER JOIN Encounters
     ON Visits.visit_id = Encounters.visit_id
    INNER JOIN ( 
          select  Encounters.visit_id, MAX(Encounters.encounter_datetime)as Latest 
          from Encounters 
          group by Encounters.visit_id
     ) as NewEncounters 
    ON Encounters.visit_id = NewEncounters.visit_id 
       AND Encounters.encounter_datetime = NewEncounters.Latest
This returns the results I want, HOWEVER, Visits without encounters are not in the results.
 
     
    