В настоящее время у меня есть таблица из трех столбцов; Org
, Group ID
и Role
.
Столбец с именем Org
можно игнорировать.
То, что я пытался сделать, это сгруппировать их на основе Group ID
и разделить каждое из Roles
, принадлежащих одному и тому же Group ID
, в один столбец.
До сих пор мне удавалось сгруппировать записи и поместить Roles
одной и той же группы в один и тот же столбец.
Я использовал следующий скрипт:
Select
[Group ID],
Substring((Select ',' + [Role]
From [dbo].[ASA_test] B
Where B.[Group ID] = A.[Group ID]]
For XML Path('')), 2, 8000) As List
From
[dbo].[ASA_test] A
Group By
[Group ID]
Позже я создал переменную временной таблицы и вставил в нее приведенный выше SQL, чтобы впоследствии использовать эту переменную в определяемой пользователем функции, чтобы получить результат.
Пожалуйста, смотрите ниже:
DECLARE @MyTempTableVariable TABLE
(
GroupID int,
Role nvarchar(255)
)
INSERT INTO @MyTempTableVariable
Select
[Group ID],
Substring((Select ',' + [Role]
From [dbo].[ASA_test] B
Where B.[Group ID] = A.[Group ID]]
For XML Path('')), 2, 8000) As List
From
[dbo].[ASA_test] A
Group By
[Group ID]
Однако я не мог пойти дальше, так как это не сработало, как я ожидал.
Может кто-нибудь помочь? обратите внимание, что общее количество записей не ограничивается тем, что я публикую здесь.
Спасибо!