「users」テーブルと「roles」テーブルの 2 つのテーブルがあり、多対多の関係によって相互に関連付けられています。多対多の関係は、「UserRoles」と呼ばれる 3 番目のテーブルに格納されています。個別のユーザーを表示するクエリを作成し、特定のユーザーに関連付けられているすべてのロールを 1 つの行に表示したいと考えています。
たとえば、次の 3 つのテーブル:
users
UserName UserId
test11 000_1
test12 000_2
test13 000_3
test14 000_5
roles
Role Name Role ID
Admin 100_1
superuser 100_2
reader 100_3
writer 100_4
UserRoles
RoleID UserID
100_1 000_1
100_2 000_1
100_3 000_1
100_2 000_2
100_3 000_2
100_4 000_2
100_3 000_3
100_4 000_3
100_1 000_5
100_2 000_5
100_3 000_5
100_4 000_5
では、ユーザーごとにセミコロンで区切られたロールで以下のように行を表示するクエリを作成するにはどうすればよいですか?
UserName Role Name
test11 Admin;superuser;reader