У меня есть три таблицы, таблица пользователей, таблица курсов и таблица скрытых курсов.MySQL комплексное объединение трех таблиц
В таблице скрытых курсов содержится столбец user_id
и колонка course_id
.
Предположим, я хочу видеть всю информацию таблицы скрытых курсов для всех пользователей для курса «курс1». Когда я получаю мои данные, я хочу, чтобы включать в себя:
- hidden_courses.id
- courses.id
- courses.title
- user.id
- user.name
Я пробовал несколько вещей, чтобы выполнить этот запрос, но он не всегда правильно заполняет мои столбцы. Я хочу, чтобы информация о курсе всегда была из «курса1» и списка всех пользователей. Единственное, что может не существовать, это hidden_courses.id
.
Вот что я пытался:
SELECT hc.id, u.id, u.name, c.id, c.title
FROM hidden_courses AS hc
RIGHT JOIN users AS u ON u.id = hc.user_id
RIGHT JOIN courses AS c ON c.id = hc.course_id
Должен ли я выполнить запрос с использованием ЛЕВЫЙ JOINS вместо и выбрать из таблицы пользователей? Мне тоже это не удавалось.
Между курсами и таблицей пользователей нет никакой связи. Допустим, у меня 3 пользователя, и одна скрытая запись курса для user1 и course1. Я хотел бы выход быть:
Поверьте, это не относится к категории «сложный». :-) –
Какова связь между «пользователями» и «курсами»? –
Если вы предоставляете свои структуры таблиц, некоторые выборочные данные и ожидаемый результат, учитывая данные выборки, тогда было бы гораздо легче ответить. Пожалуйста, смотрите: http://stackoverflow.com/help/how-to-ask –