Чтобы расширить мой последний вопрос относительно запроса SQL или кода C #, который может поворачивать или преобразовывать значения в одном столбце в отдельные столбцы на основе данных из другого столбца:
При дальнейшей проверкемне нужен скрипт или запрос, который может преобразовывать значения строк в одном столбце в отдельные столбцы на основе значений в двух других столбцах.
Так, например, вот моя текущая таблица данных:
ID USERID ATTRIBUTE ATTRIBUTE VALUE
00001 15 Entitlement 80
00001 15 Entitlement 81
00001 15 Permission 90
00001 15 Permission 91
00001 15 Permission 92
00001 16 Entitlement 82
00001 16 Permission 93
Мне нужно, чтобы выходная таблица выглядела следующим образом:
ID USERID ENTITLEMENT PERMISSION
00001 15 80 90
00001 15 81 91
00001 15 92
00001 16 82 93
Где значения в столбцах ENTITLEMENT и PERMISSION сгруппированы по USERID.
Я понимаю, что будут нулевые значенияв любом из новых столбцов, когда количество строк между ними не совпадает, и это нормально, если каждый новый столбец содержит все значения строк и соответствует правильному USERID.
Поворот данных с помощью T-SQLто есть
select ID, USERID, ENTITLEMENT, PERMISSION from dbo.Test_Table
pivot (Max(ATTRIBUTE VALUE) for Attribute IN ([ENTITLEMENT], [PERMISSION])) as PivotTable
order by ID asc
... не возвращает все значения из-за агрегата MAX.
Код C # в предыдущем ответе работает нормально, но,опять же, учитывается только столбец ATTRIBUTE VALUE.
Еще раз, любая помощь с этой задачей приветствуется.C # не моя сильная сторона.