1

私はこの選択ステートメントを持っています:

select m.title, m.category_code, c.company_name, wm_concat(d.director_name),    
wm_concat(a.actor_name) as actors
from
actors a
inner join actor_in_movies aim
on aim.actor_id = a.actor_id
inner join movies m
on m.movie_id = aim.movie_id
inner join movie_directors md
on md.movie_id = m.movie_id
inner join directors d
on d.director_id = md.director_id
inner join companies c
on c.company_id = d.company_id
group by m.title, m.category_code, c.company_name;

そして、すべての俳優に対して同じディレクター名を一度返します....これを回避する方法はありますか?

これも試してみました:

select m.title, cat.description, c.company_name, wm_concat(d.director_name),      
wm_concat(a.actor_name) as actors
from
movie_categories cat
inner join movies m 
on m.category_code = cat.category_code
inner join movie_directors md
on md.movie_id = m.movie_id
inner join directors d
on d.director_id = md.director_id
inner join companies c
on c.company_id = d.company_id
inner join actor_in_movies aim
on aim.movie_id = m.movie_id
inner join actors a 
on a.actor_id = aim.actor_id
group by m.title, cat.description, c.company_name;

同じ結果で

編集:私はもっと考える必要があり、distinctを使用してそれを手に入れたと思います!

select m.title, cat.description, c.company_name, wm_concat(distinct      
d.director_name),      
wm_concat(a.actor_name) as actors
from
movie_categories cat
inner join movies m 
on m.category_code = cat.category_code
inner join movie_directors md
on md.movie_id = m.movie_id
inner join directors d
on d.director_id = md.director_id
inner join companies c
on c.company_id = d.company_id
inner join actor_in_movies aim
on aim.movie_id = m.movie_id
inner join actors a 
on a.actor_id = aim.actor_id
group by m.title, cat.description, c.company_name;
4

0 に答える 0