у меня есть этот запрос:SQL запрос неправильного результат
SELECT `completed`.`ID` AS `ID`,`completed`.`level` AS `level`,`completed`.`completed_in` AS `completed_in`, COUNT(1) AS `right_answers_num`
FROM `completed`
INNER JOIN `history` ON `history`.`ID` = `completed`.`ID`
INNER JOIN `questions` ON `questions`.`ID` = `history`.`question`
WHERE `completed`.`student_id` = '1' AND `questions`.`answer` = `history`.`answer`
GROUP BY `completed`.`ID`
ORDER BY `completed`.`completed_in` DESC
то, что мне нужно, чтобы получить информацию о каждом испытании в заполненных таблицах (идентификатор, уровень, completed_in, right_answer_num)
проблема с этим запросом является то, что если нет ни одного правильного ответа (history.answer = questions.answer), то он не возвращает строку, а должен возвращать строку (id, level, completed_in), а right_answer_num (счетчик) должен быть нулевым.
пожалуйста, помогите мне ,, спасибо вперед.
Можете ли вы предоставить структуру данных и некоторые данные? –
Если «нет правильного ответа», каковы ваши данные? Никакой строки для этого вопроса? Строка для вопроса, но поле 'answer' -' NULL'? Кроме того, может быть более одной строки в «вопросах» для одного и того же вопроса * (например, один вопрос имеет более одного правильного ответа) *? Как говорит @NWest, нам нужно знать вашу схему, ограничения и полное/категориальное описание данных, с которыми работает запрос. Вам может быть рекомендовано включить примерные данные, чтобы лучше продемонстрировать ваши требования. – MatBailie
Вы могли бы определить содержание своей истории? – Sebas