Как в процедуре получать несколько строк, если одно в одном поле записывается несколько значений?

На данный момент есть процедура, которая работает и по параметру @key выводит роли пользователя с USERID = @key. Как можно переделать ее так, чтобы выводились данные для всех пользователей?

Вот код процедуры

ALTER PROCEDURE [dbo].[GetUsers]
    @key int = 0
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @ListRoles NVARCHAR(MAX);
        SELECT @ListRoles = ISNULL(@ListRoles + ', ','') + QUOTENAME(Name) 
        FROM UsersRole LEFT JOIN Role ON UsersRole.RoleID = Role.RoleID
        WHERE UsersRole.IDUser = @key; 
    SELECT

        [USER].USERID,
        [USER].LOGIN,
        [USER].Email,
        ListRoles = @ListRoles
        FROM [USER] WHERE USERID = @key
END

Результат работы процедуры представлен на картинке

Результат работы процедуры


Ответы (0 шт):