3 개의 테이블이 있습니다. 이 예제의 목적을 위해 최대한 단순화 할 것입니다.하위 쿼리를 사용하지 않고이 mysql 쿼리를 어떻게 수정합니까?
첫 번째 테이블에는 영화 ID와 이름이 포함되고 두 번째 테이블에는 장르 ID 및 장르 이름 (액션, 드라마 등)이 포함됩니다. 세 번째 테이블에는 각 영화와 연결된 장르 ID가 저장됩니다. 일부 영화에는 둘 이상의 영화가 있기 때문입니다. 여기에는 genre_id와 movie_id의 2 개의 열이 있습니다. 요정 간단한 물건. 각 영화와 관련된 장르 목록과 함께 영화 목록을 출력하려고합니다.
SELECT *
FROM movies
LEFT JOIN gen_pairs
ON movies.mov_id = gen_pairs.gen_movieid
LEFT JOIN categories
ON gen_pairs.gen_catid = categories.cat_id
GROUP BY mov_id
gen_pairs 테이블에 여러 장르가있는 경우에도 분명히 각 영화의 단일 장르를 출력합니다. 각 항목에 대한 하위 쿼리를 실행하지 않고 각 영화에 대한 쉼표로 구분 된 쟝르 목록을 표시하려면 어떻게해야합니까?
수정 : 주어진 영화에 대해 * ALL * 장르를 출력합니다. 각 장르별 장르는 해당 장르의 영화 이름을 반복합니다. – vladr
GROUP BY 절을 잊어 버렸습니다. 결정된. –