【发布时间】:2017-03-25 01:22:09
【问题描述】:
我正在学习 SQL,我想创建一个查询来生成由表中的值组成的新列。我有一个名为transactions 的列,同一家公司有多个交易。表格看起来像这样:
Id Name Payd
1 John 5.00
2 Adam 5.00
3 John 10.00
4 John 10.00
5 Adam 15.00
我想做这样的事情:
Id Name 5.00 10.00 15.00 Sum
1 John 5.00 20.00 0 25.00
2 Adam 5.00 0 15.00 20.00
我正在考虑使用PIVOT 函数来实现它,但我在实现时遇到了问题。我的代码如下所示:
(select emplployer, CAST (4.00 as decimal(10,0)) as [4.00],
CAST (5.00 as decimal(10,0)) as [5.00],
CAST (10.00 as decimal(10,0)) as [10.00],
CAST (18.00 as decimal(10,0)) as [18.00],
CAST (20.00 as decimal(10,0)) as [20.00]
from (select Name, cast(Payd as decimal(10,0)) as summ from employee) q1
pivot
(
sum(summ) for employer in ([4.00], [5.00], [10.00], [18.00], [20.00])
)pvt;
【问题讨论】:
标签: sql sql-server tsql pivot