私はこれらの3つのテーブルを持っています
people
============
id, name
、
surveys
============
id, org_id
と
answer_sheets
============
id, person_id, survey_id, answer, date_answered
person_id
andはandsurvey_id
からの外部キーですpeople.id
surveys.id
ここで、私がやりたかったpeople
のは、最新のものに基づいてそのような順序で並べ替えることです (1 つのAND行が多数になる可能性がanswer_sheets.date_answered
あることを導き出すことができます)。surveys
people
answer_sheets
surveys.org_id
たとえば、テーブルがあるとします
people
============
id name
1 Person1
2 Person2
3 Person3
4 Person4
5 Person5
surveys
============
id org_id
1 1
2 1
3 2
4 2
answer_sheets
=============
id person_id survey_id answer date_answered
1 1 1 string JUN 13
2 2 1 string JUN 15
3 3 2 string JUN 17
4 2 2 string JUN 18
5 1 2 string JUN 19
6 3 3 string JUN 20
7 2 3 string JUN 25
8 4 3 string JUN 27
9 4 4 string JUN 27
行の最新の調査に基づいて順番people
に並べ替えたいと思いました= 1ASC
people
answer_sheets.date_answered
org_id
出力は次のようになります
=============
id name last_date_answered
4 Person4 NIL
5 Person5 NIL
3 Person3 JUN 17
2 Person2 JUN 18
1 Person1 JUN 19
people
with s 4 と 5 にはin with = 1id
がないにもかかわらず、リストに含める必要があることがわかります。質問: これに適した SQL クエリは何ですか? ありがとう。answer_sheet
surveys
org_id