Вывести данные из двух таблиц, причём данные из второй таблицы не всегда имеются - MySQL
Формулировка задачи:
Здравствуйте.
Есть две таблицы.
Первая - quiz_title (первый скриншот)
Вторая - xf_quiz_history (второй скриншот)
Задача: вывести все данные из quiz_title, но при этом вывести данные из второй таблицы (если таковы имеются).
Собственно, в обоих таблицах есть quiz_id, по которому нужно искать данные из второй таблицы и есть поле user_id во второй таблице, означающее ID пользователя, который прошёл тест.
То есть, нужно спарсить finish_date из второй таблицы, если в ней имеется запись quiz_title.quiz_id = quiz_history.quiz_id и user_id = ? (плейсхолдер). А если запись отсутствует, то finish_date должно быть NULL.
Как должен выглядеть мой запрос?
А если использовать текущий запрос, то он выведет правильно только тогда, когда есть необходимая запись во второй таблице. Если ее нет, то система ничего не выведет вообще.
SELECT quiz_title.*, quiz_history.finish_date AS finish_date FROM quiz_title LEFT OUTER JOIN quiz_history ON quiz_title.quiz_id = quiz_history.quiz_id WHERE quiz_history.user_id = ?
Решение задачи: «Вывести данные из двух таблиц, причём данные из второй таблицы не всегда имеются»
textual
Листинг программы
SELECT quiz_title.*, quiz_history.finish_date AS finish_date FROM quiz_title LEFT OUTER JOIN quiz_history ON quiz_title.quiz_id = quiz_history.quiz_id AND quiz_history.user_id = ?
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д