0

私はそれらの2つのテーブルを持っています

Period (idPeriod, startDate, endDate)
Person (idPerson, name, idPeriod,...otherInfos)

私たちは、時間通りに多くの期間に人を持つことができます。私の実際のクエリは、最新のstartDateを持つ1人を返しています

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 が最新のものを返します。

4

2 に答える 2

1

これを試して:

SELECT p.name, p.idPerson, MAX(per.startDate) 
FROM person p LEFT JOIN period per on per.idPeriod = org.idPeriod
GROUP BY  p.name, p.idPerson
于 2013-07-24T21:54:21.517 に答える