Я пытаюсь повернуть данные в таблице sql, чтобы получить только одну строку для каждого идентификатора записи. Однако код, который я запускаю, продолжает возвращать нулевые значения в качестве моих конечных результатов.
Таблица у меня выглядит так:
"Sequence" "University Issuing Body"**
"1" "College1"
"1" "College2"
"2" "College1"
"2" "College1"
"2" "College2"
Мне нужно, чтобы таблица выглядела следующим образом:
"Sequence" "University Issuing Body1" "University Issuing Body2" "University Issuing Body3"
"1" "College1" "College2" "NULL"
"2" "College1" "College1" "College2"
Код, который я запускаю, выглядит следующим образом:
select
Sequence]
,[University Issuing Body_1]
,[University Issuing Body_2]
,[University Issuing Body_3]
from (
select
[Sequence]
,[University Issuing Body]
,'University Issuing Body' + cast(row_number() over(partition by [Sequence] order by [University Issuing Body]) as varchar(12)) as hdg
from [AB_DCU_IP_2018].[dbo].[PR_Q_Joined]
) d
pivot(
max([University Issuing Body])
for hdg in ([University Issuing Body_1], [University Issuing Body_2], [University Issuing Body_3])
)pvt
Однако, когда я запускаю приведенный выше код, все мои значения отображаются как нулевые, и я получаю следующие результаты:
"Sequence" "University Issuing Body_1" "University Issuing Body_2" "University Issuing Body_3"
"1" "NULL" "NULL" "NULL"
"2" "NULL" "NULL" "NULL"
Любая помощь будет очень признательна, так как я искал решение в Интернете и не могу найти, где я ошибаюсь.
Заранее спасибо.