Я работаю над приложением для Android, которое отображает некоторую информацию из базы данных sqlite в виде списка. Мне нужна помощь в разборе моего запроса.
База данных выглядит так:
[monitors] 1 --- <has> --- * [results] 1 --- <has> --- * [steps]
Table monitors has columns: _id | warning_threshold | alarm_threshold | monitor_name
Table results has columns: _id | monitor_id | timestamp | test_info
Table steps has columns: _id | result_id | correct | response_time
Я пытаюсь сделать запрос, который вернул бы:
1) Все строки и столбцы из таблицы мониторов.
2) Новейшая test_info для каждого монитора из таблицы результатов.
3) Подсчитайте число правильных = истинных для каждого результата из таблицы шагов.
Возвращенный курсор должен выглядеть примерно так:
_id | monitor_name | warning_threshold | alarm_threshold | test_info | correct_count
1 | 'hugo' | 1000 | 1500 | 'some info' | 7
2 | 'kurt' | 800 | 1200 | 'info.....' | 5
Мой запрос:
SELECT * FROM
(SELECT monitors._id AS _id,
monitors.monitor_name AS monitor_name,
monitors.warning_threshold AS warning_threshold,
monitors.alarm_threshold AS alarm_threshold,
results.test_info AS test_info
FROM monitors
LEFT JOIN results
ON monitors._id = results.monitor_id
ORDER BY results.timestamp ASC) AS inner
GROUP BY inner._id;
У меня почти получилось. Я могу получить информацию от мониторов и результатов, мне все еще нужно получить правильный_счет. Любая помощь с сортировкой этого запроса будет принята с благодарностью.