このための正しいタイトルを思い付くのは少し難しかったです。
そのため、1対多の関連付けのために、ユーザープロファイルテーブル、音楽ジャンルテーブル、およびgenre_profilesテーブルがあります。以下に、プロファイルのすべてのgenreNameを返すgroup_concatがありますが、問題があります。genreID 15のような特定のジャンルをフィルタリングしている場合でも、プロファイルのすべてのジャンルを返したいです。
SELECT *, group_concat(cast(g.genreName as char) SEPARATOR ', ') as genreName
FROM profiles p
LEFT OUTER JOIN genre_profiles gpro ON gpro.profileID = p.profileID
LEFT OUTER JOIN genres g ON g.genreID = gpro.genreID
WHERE gpro.genreID = '15'
GROUP BY p.profileID
プロファイルに関連付けられたgenreNamesをそのままにして、genreIDのクエリをフィルタリングするにはどうすればよいですか?profileIDが15のすべてのプロファイルに対してサブクエリを実行し、そこからすべてのジャンルデータを取得する必要がありますか?
ありがとう!