MySql объединяет 3 таблицы при условии - PullRequest
0 голосов
/ 04 января 2012

Я хочу расширить знания, которые у меня уже есть в MySql (это не так уж много), поэтому я загружаю пример базы данных из: http://downloads.mysql.com/docs/sakila-db.zip и начинаю играть с моим q, который там есть. способ объединить эти столы (актер, фильм, киноактер), чтобы иметь стол, на котором каждый актер показывает фильмы, на которых он снимается?

Ответы [ 2 ]

0 голосов
/ 04 января 2012

Это модифицированный запрос Devart.Если вы хотите получить результат с Actor_ID, concactenated ActorName и concactenated TITLE, то вам следует попробовать это:

SELECT
        a.actor_id,
        CONCAT(a.first_name,' ',a.last_name) AS ActorName,
        GROUP_CONCAT(f.title) Titles
FROM actor a
        INNER JOIN film_actor fa
          ON fa.actor_id = a.actor_id
        INNER JOIN film f
          ON f.film_id = fa.film_id
GROUP BY actor_id
0 голосов
/ 04 января 2012

Эти таблицы имеют отношение многие ко многим, чтобы показать каждому актеру с фильмами, которые вы можете использовать по этому запросу -

SELECT
  a.actor_id,
  a.first_name,
  a.last_name,
  f.film_id,
  f.title
FROM actor a
  INNER JOIN film_actor fa
    ON fa.actor_id = a.actor_id
  INNER JOIN film f
    ON f.film_id = fa.film_id
...