Я делаю стержень в SQL, но он не работает, может кто-то помочь, что не так? , ниже - мой результирующий набор, желаемый результат и мой запрос.SQL Pivot не работает
- >> #Final temp table создается с использованием нижеследующего запроса.
CREATE TABLE #Final
(
Name VARCHAR(100),
Code VARCHAR(20),
Amount MONEY
)
-->> Insert data, here i insert all data that i needed
INSERT INTO [#Final]
(
[Name],
[Code],
[Amount]
)
SELECT something...
-----------------------------------------------------------------
Вот результирующий набор
Name Code **Amount**
Batman 11111 4472.23
Batman 11111 -1788.89
Batman 22222 5166.98
Batman 22222 -5166.98
Batman 22222 5166.98
Batman 33333 6880.43
Batman 33333 -2293.47
Robin 11111 8278.54
Robin 11111 41392.66
Robin 22222 15940.95
Robin 22222 79704.71
Robin 33333 16557.23
Robin 33333 106136.1
Robin 33333 4669.99
Superman 11111 8944.39
Wolverine 11111 32782.99
Wolverine 11111 32782.99
Wolverine 11111 49671.2
Wolverine 11111 16557.06
Wolverine 22222 127527.54
Wolverine 33333 105074.74
Wolverine 33333 -420.3
-----------------------------------------------------------------
-->> My pivot query
SELECT [pvt].[Name], [1],[2],[3]
FROM
(
SELECT Name, Code, Amount FROM #Final
) src
PIVOT
(
SUM(Amount) FOR Code IN ([1],[2],[3])
) pvt
В результате суммы все NULL
11111 22222 33333
Batman NULL NULL NULL
Robin NULL NULL NULL
Superman NULL NULL NULL
Wolverine NULL NULL NULL
-----------------------------------------------------------------
Ожидаемый результат должен быть: (Сумма суммы на код по имени)
11111 22222 33333
Batman 2683.34 5166.98 4586.96
Robin 49671.2 95645.66 127363.32
Superman 8944.39 0 0
Wolverine 131794.24 127527.54 104654.44
Любая помощь wou Мы очень ценим. Заранее спасибо
'isnull' для показа' 0' суммы? –
Уверен, он может поставить 'ISNULL' на внешний' SELECT'. –
@FelixPamittan Wow great! , теперь я вижу, что не так .. это мой первый раз, чтобы создать опорную точку в SQL :), я изучил, как создать ... я не заметил, что это ... это прекрасно! , отметьте это как ответ. – Japongskie