powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Один запрос к трём таблицам.
3 сообщений из 3, страница 1 из 1
Один запрос к трём таблицам.
    #38711210
ILL-JAH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Ситуация такая: Есть 2 таблицы сущностей:
Таблица с фильмами movies (поля: movieId, ..., ...) и таблица с жанрами genres (поля: genreId, genre), есть таблица movies_genres(поля: movieId, genreId), сопоставляющая фильмы с жанрами. Один фильм может иметь несколько жанров.
Какой запрос нужно сделать чтобы выбрать все фильмы, имеющие жанры из некоторого списка.
Сделал такой запрос:
select * from movies where movieId in (select movieId from movies_genres where genreId in (select genreId from genres where genre in ('Боевик','Фантастика')));
Но по-моему запрос внутри запроса внутри запроса - это быдлокод. Как сделать подобное по-другому?
...
Рейтинг: 0 / 0
Один запрос к трём таблицам.
    #38711229
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ILL-JAHНо по-моему запрос внутри запроса внутри запроса - это быдлокодВообще-то нет. Другое дело, что мускл до версии 5.5 криво с подобными подзапросами работает.
Код: sql
1.
2.
3.
4.
5.
6.
7.
select movies.* 
from movies 
join (select distinct mg.movieId 
 from movies_genres mg
 join genres on mg.genreId=g.genreId
 where g.genre in ('Боевик','Фантастика')
) t0 using (movieId)
...
Рейтинг: 0 / 0
Один запрос к трём таблицам.
    #38711236
ILL-JAH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Один запрос к трём таблицам.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]