У меня есть две таблицы Пользователь и Пользователь_Roles .Пользователь может иметь несколько ролей.
ТАБЛИЦА ПОЛЬЗОВАТЕЛЕЙ
User_Id User_Name
1 Edward
2 John
3 Mark
ТАБЛИЦА ПОЛЬЗОВАТЕЛЕЙ
User_ID Role
1 Admin
1 Writer
1 Form
2 Writer
3 Form
3 Writer
Я хочунапишите запрос, который даст мне следующий результат
User_ID User_Name Role
1 Edward Admin, Writer,Form
2 John Writer
3 Mark Form,Writer
Я пытался использовать GROUP BY
, и я знаю, что именно так я могу получить результат, но я просто не делаю это правильно.
SELECT COUNT(T0.[User_Id]),T0.[User_Name],T1.[Role]
FROM USER T0
INNER JOIN USER_ROLES T1 ON T0.User_ID = T1.User_ID
GROUP BY T0.[User_Name], T1.[Role]
Я использую COUNT
только для целей тестирования, потому что когда я выполняю GROUP BY
с агрегатной функцией, я получаю ошибку.