MySQLのGroup_Concatのようなクエリにどうやってアプローチするのですか?
私は上記のデータベースレイアウトをMySQLで持っており、映画に関するすべての情報を取得してうまくフォーマットするためのクエリを作成しようとしています。
のは、私は私のテーブルに
movie
id name
1 "Batman"
2 "Superman"
genre
id name
1 "Thriller"
2 "Horror"
language
id lang
1 "English"
2 "Spanish"
theatre
id name
1 "First Theatre"
2 "Second Theatre"
movie_genre
movie_id genre_id
1 1
1 2
2 2
movie_release
id language_id movie_id
1 1 1
2 2 1
3 1 2
theatre_release
movie_release_id theatre_id
1 1
2 2
3 1
3 2
を、以下の情報を持っているとしましょう、理想的には出力は「あなたはドンこの
movie.name genres releases
"Batman" "thriller, horror" English, Theatre One
Spanish, Theatre Two
"Spiderman" "Horror" Spanish, Theatre One, Theatre Two
私のクエリの試み
Select
movie.name
Group_Concat(genre.name) as genres
Group_concat(language.lang, group_concat(theatre.name)) as releases
from
movie
left join movie genre on movie.id = movie_genre.movie_id
left join genre on genre.id = movie_genre.genre_id
left join movie_release on movie_release.movie_id = movie.id
left join language on movie_release.language_id = language.id
left join theatre_release on theatre_release.movie_release_id = movie_release.id
left join theatre on theatre_release.theatre_id = theatre.id
を取得するために
GROUP_CONCAT
を追加統合します。あなたは何か試しましたか? –@Prdpはいすべての言語をつなぎ合わせるためのグループコンカットとそれの中のグループコンカットを試してみましたが、その言語映画リリースのすべての劇場をグループ化しましたが、ネストされたグループコンカットはできません – user2827048
私たちはそれを修正するでしょう –