У меня есть таблица со следующей структурой.Я хочу транспонировать его.
BookId Status
----------------------
123A Perfect
123B Restore
123C Lost
123D Perfect
123A Perfect
123B Restore
123A Lost
123B Restore
Мне нужна таблица транспонирования, чтобы выглядеть примерно так.
Вывод
BookId Total Perfect Restore Lost
-----------------------------------------
123A 3 2 0 1
123B 3 0 3 0
123C 1 0 0 1
123D 1 1 0 0
Я пробовал это
select
BookId,
sum('Perfect') as Perfect,
sum('Restore') as Restore
from
[dbo].[Orders]
group by
BookId
Но так как это nvarchar
значения, sum
недопустимо.Я получаю эту ошибку
У меня не так много рук на Pivot.Но попробовал следующее
select *
from
(select SellerAddress, ApplicationStatus
from [Farm_For_Books].[dbo].[Orders]) src
pivot
(sum(ApplicationStatus)
for SellerAddress in ([1], [2], [3])
) piv;