Задавайте вопросы, мы ответим
Вы не зашли.
Не удается составить запрос, нуждаюсь в вашей помощи.
Есть такие таблиц:
films:
id | title | description | year | url | time
actors:
id | name_ru | name_en | date | city
careers:
id | title
Есть связывающие таблицы:
films_actors:
id_film | id_actor
actors_careers:
id_actor | id_career
Нужно получить такой вид:
Актер
Карьера: Фильм 1, Фильм 2
Карьера: Фильм 2, Фильм 4
Пример:
Алан Рикман
Актер: Песня ланча / Song of Lunch (2010)
Парфюмер / Perfume (2006)
Режиссер: Зимний гость / Winter Guest (1997)
Приблизитерьно как на ( http://www.kinopoisk.ru/level/4/people/202/#writer )
Вот как пробовала:
SELECT
a.name_en,
GROUP_CONCAT(DISTINCT f.title_ru) AS title_ru,
GROUP_CONCAT(DISTINCT f.year) AS year,
GROUP_CONCAT(DISTINCT f.title_en) AS title_en
FROM actors a
LEFT JOIN films_actors fa ON a.id = fa.id_actor
LEFT JOIN films f ON f.id = fa.id_film
GROUP BY a.name_en
LIKE 'actor 2' DESC LIMIT 1
Получилось вот что:
name_en | title_ru | year | title_en
actor 2 | фильм 3,фильм 1| [BLOB - 21B] | film 3,film 1
Во-первых, не знаю как связать с карьерой (career).
Во-вторых, BLOB, я так понимаю это потому что поле int, придется год делать не int?
В-третьих, нужно чтоб фильмы сортировались по году.
Я только учусь, поэтому много не знаю, учусь по ходу создания, направьте на путь истинный пожалуйста, подскажите что делать. Если что-то не понятно написала, напишу подробнее.
Заранее спасибо.
Отредактированно pagal (09.10.2011 02:56:29)
Неактивен
А где храниться информация о том, что Алан Рикман в фильме "Парфюмер" выступал не режиссером, а именно актером?
Неактивен
Вот, этого у меня как раз и не хватает)
Будет правильно, если я сделаю таблицы где хранятся отдельно актеры, режиссеры, сценаристы, и потом свяжу их с фильмами?
Неактивен
Достаточно в таблицу actors_careers добавить информацию о фильме:
id_actor | id_career | id_film
Неактивен
спасибо большое, щас попробую что выйдет.
Неактивен