Я даже не уверен, каким должен быть заголовок этого вопроса, но давайте начнем с моих данных.
У меня есть таблица пользователей, которые прошли несколько уроков, принадлежа к определенному учебному центру.
таблица урока
id | lesson_id | user_id | has_completed
----------------------------------------
1 | asdf3314 | 2 | 1
2 | d13saf12 | 2 | 1
3 | a33adff5 | 2 | 0
4 | a33adff5 | 1 | 1
5 | d13saf12 | 1 | 0
таблица пользователя
id | center_id | ...
----------------------------------------
1 | 20 | ...
2 | 30 | ...
стол центра обучения
id | center_name | ...
----------------------------------------
20 | learn.co | ...
30 | teach.co | ...
Я написал небольшой кусок, но теперь застрял, так как не знаю, как поступить.В этом утверждении подсчитывается общее количество выполненных уроков на пользователя.затем он вычисляет среднее завершенное значение из идентификатора центра.если два пользователя принадлежат центру и выполнили 3 урока и 2 урока, он находит среднее значение 3 и 2, а затем возвращает его.а также добавьте средние данные из подобного оператора выбора, как указано выше, к каждому запрашиваемому центру.Кажется, я не могу передать идентификатор центра подзапросу, поэтому должен существовать принципиально иной способ выполнить тот же запрос, но также пройти через учебные центры.
Пример желаемого результата:
center.id | avg_completion | ...training center table
-----------------------------------------------------
20 | 2 | ...