У меня есть эти 2 таблицыВыберите список элементов, и если они имеют ту же дату, принимать самые актуальные
Period (idPeriod, startDate, endDate)
Person (idPerson, name, idPeriod,...otherInfos)
Мы можем иметь человека во многих периодов по времени. Мой фактический запрос возвращает один человек с самым последним STARTDATE
SELECT * FROM person p INNER JOIN period per on per.idPeriod = org.idPeriod
where per.endDate = (SELECT MAX(per.startDate) from per) group by name;
Как получить список лиц. Если человек существует более одного раза, верните его с помощью самого последнего startDate.
он работал, но он не принимает во внимание, если человек существует в одном периоде только http://sqlfiddle.com/#!2/bbb85/1 – outellou
@Moh это сломано в вашем случае, потому что вы не добавили этот период в таблицу 'Period' –
Да, я вижу. Он работает http://sqlfiddle.com/#!2/0ab25/1 – outellou