2014-07-22 1 views
0

나는 영화 정보를 담고있는 테이블을 가지고 있습니다. ID, 제목 등이 있습니다. 내가 사용할 수있는 카테고리가있는 카테고리라는 또 다른 테이블이 있습니다. 액션, 드라마 등. 각 영화는 여러 범주에 속할 수 있습니다. 그래서 뷰를 만들고이 테이블을 조인했습니다. 이제 영화가 반복 되더라도보기는 각 범주에 대한 행을 표시합니다. 각 영화마다 하나의 행이 있어야하며 'Action, Drama, Comedy'와 같은 카테고리가 있어야합니다 (기본적으로 tbl_movies_categories의 모든 카테고리).MySQL보기 - 한 행에 다 대일 관계가 있습니다.

어떻게 테이블을 조인해야 하나?보기를 생성하려면 어떻게해야합니까?

+1

MySQL 문서에서'group_concat()'을 찾으십시오. – Rahul

답변

0

이것은 올바른 방법입니다. 그룹 고유 한 ID로 group_concat()을 사용하여 값을 연결합니다.

CREATE VIEW `vw_metadata` AS 
    select 
     `vw_movies`.`id` AS `id`, 
     ... 
     group_concat(`vw_movies_categories`.`title_category` 
      separator ',') AS `categories`, 
    from 
     (`vw_movies` 
left join `vw_movies_categories` ON (`vw_movies_categories`.`movie_id` = `vw_movies`.`id`)) 
    group by `vw_movies`.`id` 
관련 문제