оценки
quiz_attempts - дата начала и окончания
Мне нужно вывести данные так, чтобы отображалась инфа о пользователе, оценке и дате начала и окончания.
Сортирую данные по столбцу quiz, который есть в quiz_grades и quiz_grades и который равен 871.
Если я вывожу данные из таблиц отдельно, например, select * from quiz_grades (или quiz_attempts) where quiz_grades.quiz (или quiz_attempts.quiz) = 871, то получаю 119 строк и это верно.
Но когда я делаю такой запрос, то получаю 174 записи:
SELECT * FROM user
JOIN quiz_attempts ON user.id = quiz_attempts.userid
JOIN quiz_grades ON user.id = quiz_grades.userid
WHERE quiz_attempts.quiz = 871
В чем моя ошибка?
Вам нужно про левый правый JOIN почитать
Модель до конца непонятна. Квизы в системе бывают разные, или он один? А где перечень квизов? А может ли быть несколько попыток у одного юзера на один квиз? И вообще, сколько квизов в системе.
Квизы бывают разные, у каждого квиза свой id Перечень квизов в таблице quiz Может, но не в моем случае, т.к. в данном квизе только 1 попытка разрешена Больше 1000
Модель здесь описана https://moodleschema.zoola.io/tables/quiz.html
Обсуждают сегодня