У меня есть эти три таблицыSQL Сортировка 3 соединяемых таблиц
people
============
id, name
,
surveys
============
id, org_id
и
answer_sheets
============
id, person_id, survey_id, answer, date_answered
person_id
иsurvey_id
внешние ключи отpeople.id
иsurveys.id
Теперь, что я хотел сделать, это сортировать people
в таких, чтобы основываясь на последних 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
в ASC
порядке, основанном на people
Роу последних answer_sheets.date_answered
в обзорах, имеющих org_id
= 1
выход будет
=============
id name last_date_answered
4 Person4 NIL
5 Person5 NIL
3 Person3 JUN 17
2 Person2 JUN 18
1 Person1 JUN 19
Вы можете заметить, что people
с id
s 4 и 5 не в surveys
в answer_sheet
с org_id
= 1 и все же они должны быть включены в список. Вопрос: Для чего нужен соответствующий SQL-запрос? Благодарю.
Это домашнее задание? – tsells