我的sql请求遇到一些问题。它们都按1逐个工作,但是当我加入它们以发出全局请求时,它会复制我所有加入的数据。 这是我实际的全局请求,它可以工作,但不是我想要的方式。 我已经尝试过一些东西,但找不到解决问题的答案。 感谢您的帮助。
SELECT films.titre,films.annee,films.description,films.image_film,
GROUP_CONCAT(genre.type SEPARATOR ', ') AS genre,
GROUP_CONCAT(realisateur.realisateur SEPARATOR ', ') AS realisateur,
GROUP_CONCAT(acteur.acteur SEPARATOR ', ') AS acteur
FROM film_genre
INNER JOIN films ON film_genre.film = films.id
INNER JOIN film_realisateur ON film_realisateur.film = films.id
INNER JOIN realisateur ON realisateur.id = film_realisateur.realisateur
INNER JOIN genre ON genre.id = film_genre.genre
INNER JOIN film_acteur ON film_acteur.film = films.id
INNER JOIN acteur ON acteur.id = film_acteur.acteur
GROUP BY films.titre
答案 0 :(得分:0)
这是正确的请求,感谢Aman B:)
SELECT films.titre,films.annee,films.description,films.image_film,
GROUP_CONCAT(DISTINCT genre.type SEPARATOR ', ') AS genre,
GROUP_CONCAT(DISTINCT realisateur.realisateur SEPARATOR ', ') AS realisateur,
GROUP_CONCAT(DISTINCT acteur.acteur SEPARATOR ', ') AS acteur
FROM film_genre
INNER JOIN films ON film_genre.film = films.id
INNER JOIN film_realisateur ON film_realisateur.film = films.id
INNER JOIN realisateur ON realisateur.id = film_realisateur.realisateur
INNER JOIN genre ON genre.id = film_genre.genre
INNER JOIN film_acteur ON film_acteur.film = films.id
INNER JOIN acteur ON acteur.id = film_acteur.acteur
GROUP BY films.titre