В настоящее время я суммирую данные по пяти столбцам с типом данных money. Столбцы Amount2, Amount3, Amount4, Amount5 должны отображаться в виде строк с соответствующей суммой.
В настоящее время результаты при выполнении запроса выглядят так:
но мне нужно, чтобы результаты отображались в следующем формате:
Кто-нибудь знает способ сделать это?
Я попробовал это, но не смог заставить его работать:
SELECT name, amount1, column
FROM
(
select
Name,
sum(Amount1) as Amount1,
sum(Amount2) as Amount2,
sum(Amount3) as Amount3,
sum(Amount4) as Amount4,
Sum(Amount5) as Amount5
from
#temp
group by
Name
) d
UNPIVOT
(
value
for column in (Amount2,Amount3,Amount4,Amount5)
) unpiv;
Я получаю следующую ошибку:
Сообщение 156, Уровень 15, Состояние 1, Строка 54
Неверный синтаксис рядом с ключевым словом «ОТ».
Сообщение 102, Уровень 15, Состояние 1, Строка 67
Неверный синтаксис рядом с 'd'.
Пример данных
Create table #temp
(
Name varchar(10),
Amount1 money,
Amount2 money,
Amount3 money,
Amount4 money,
Amount5 money
)
insert into #temp
(
Name,
Amount1,
Amount2,
Amount3,
Amount4,
Amount5
)
SELECT
'Test',
1,
NULL,
NULL,
4,
NULL
UNION ALL
SELECT
'Test1',
1,
NULL,
NULL,
NULL,
5
UNION ALL
SELECT
'Test2',
1,
NULL,
3,
NULL,
NULL
UNION ALL
SELECT
'Test',
1,
2,
NULL,
NULL,
NULL
select
Name,
sum(Amount1) as Amount1,
sum(Amount2) as Amount2,
sum(Amount3) as Amount3,
sum(Amount4) as Amount4,
Sum(Amount5) as Amount5
from
#temp
group by
Name
drop table #temp