Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / MySQL |
![]() ![]() |
YuraVakulenko Member Откуда: Сообщений: 2 |
Здравствуйте, друзья! Может ли мне кто-то помочь сформировать запрос, чтобы из БД в рамках одного запроса вытащить информацию о упражнениях, что принадлежат уроку и в то же выремя вывести информацию о результате выполнения пользователем этого упражнения. |
17 дек 19, 14:23 [22042176] Ответить | Цитировать Сообщить модератору |
YuraVakulenko Member Откуда: Сообщений: 2 |
не дописал пред сообщение.. вот весь текст Здравствуйте, друзья! Может ли мне кто-то помочь сформировать запрос, чтобы из БД в рамках одного запроса вытащить информацию о упражнениях, что принадлежат уроку и в то же выремя вывести информацию о результате выполнения пользователем этого упражнения. вот запрос, с которым мне нужна помощь. Обратите внимание, что в WHERE course_id, lesson_id, user_id ecl.course_id = 3 AND ecl.lesson_id = 33 AND ler.user_id = 1 являются внешними данными и приходят извне.
Результат выполнения этого запроса: Все данные, что содержатся в колонках, название которых начинается на ler_ это необходимые мне данные извлеченные из lesson_exercises_results таблицы. В данном случае результат выполнения запроса не верен, потому-что в lesson_exercises_results нет данных об id_exercises, что принадлежат след списку 176, 178 и я бы хотел видеть эти строки в результате, что привел ниже, но в колонках название которых начинается на ler_ должно содержатся NULL . Как мне этого добиться?
Вот почему я утверждаю, что в результатах запроса, что привел выше не хватает данных об id_exercises, что принадлежат след списку 176, 178. В след запросе я получаю все данные об упражнениях из `exercises_to_course_lessons` сливая их с информацией об упражнении, что содержится в `exercises`, что принадлежат тому же уроку из того же курса. (course_id = 3, lesson_id = 33)
Вот результат выполнения данного запроса:
Вот моя структура таблиц БД. Таблица `exercises_to_course_lessons`. В ней содержатся упражнения(ID упражнений), упорядоченных по ordering , что должны принадлежать конкретному уроку (lesson_id) курса (course_id). Id - это AI. Получена вот так select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='exercises_to_course_lessons'
Это структура таблицы exercises В ней содержится информация о упражнении (его название, описание, опубликовано ли оно и нек другая мета инфо) получено вот так select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='exercises'
Это структура таблицы courses В ней содержится информация о курсе (его название, описание, опубликовано ли он и нек другая мета инфо) получено вот так select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='courses'
Это структура таблицы lesson_exercises_results В ней содержится о результатах выполнения студентом конкретного упражнения урока из конкретного курса. Как вы понимаете, одно и то же упражнение (exercise_id) у меня может содержаться в разных уроках даже в рамках одного и того же курса. Конечно это утверждение справедливо и в случае, если имеются разные курсы (course_id) получено вот так select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='lesson_exercises_results'
|
||||||||
17 дек 19, 15:28 [22042253] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20960 |
SHOW CREATE TABLE tablenameвырезаете код создания таблицы и размещаете сюда. Также крайне желательно сделать скрипты какого-то минимального наполнения таблиц (INSERT INTO с данными), и дать желаемый результат именно для таких данных. Для упрощения часть полей можно смело удалить, скажем, из 8 полей, попадающих в выходной набор из таблицы exercises, достаточно оставить одно поле (если остальные не используются для связывания, отбора и сортировки, конечно). Ещё разумнее сразу создать работоспособный fiddle (скажем, на https://dbfiddle.uk/?rdbms=mysql_8.0) и дать на него ссылку. |
||||
17 дек 19, 15:54 [22042275] Ответить | Цитировать Сообщить модератору |
Все форумы / MySQL | ![]() |