如何在 SQL Server Compact Edition 中实现 Pivot?
How do I achieve Pivot in SQL Server Compact Edition?
我正在尝试在 SQL Server Compact Edition 3.5 中使用 pivot,但由于 Compact 版本不支持 pivot,我该如何操作?
Table: Donate
| Name | Date | Amount |
| James | 27/7/2015 20:19 | 500 |
| Owen | 27/7/2015 20:20 | 400 |
| James | 27/7/2015 20:21 | 100 |
因此,通过以下查询,我可以毫无问题地进行数据透视
select *
from
(select Name, datename(month, Date) as mname, Amount
from Donate) as test
pivot(
sum(Amount)
for mname in ([July])
) as pvt
得到这个完美的
| Name | July |
| James | 600 |
| Owen | 400 |
但是当我使用 SQL 服务器精简版代码时,它给我一个没有数据透视函数的错误。所以我研究了一个解决方案,发现 SQL Server CE 中不存在 pivot。
所以有人知道我如何在 SQL Server Compact Editions 中执行此操作吗?提前致谢
这个有用吗?
Select name,
sum(case datename(month, Date) when 'January' then Amount else 0 end) as Jan,
sum(case datename(month, Date) when 'February' then Amount else 0 end) as Feb,
...
...
From Donate
group by name
我正在尝试在 SQL Server Compact Edition 3.5 中使用 pivot,但由于 Compact 版本不支持 pivot,我该如何操作?
Table: Donate
| Name | Date | Amount |
| James | 27/7/2015 20:19 | 500 |
| Owen | 27/7/2015 20:20 | 400 |
| James | 27/7/2015 20:21 | 100 |
因此,通过以下查询,我可以毫无问题地进行数据透视
select *
from
(select Name, datename(month, Date) as mname, Amount
from Donate) as test
pivot(
sum(Amount)
for mname in ([July])
) as pvt
得到这个完美的
| Name | July |
| James | 600 |
| Owen | 400 |
但是当我使用 SQL 服务器精简版代码时,它给我一个没有数据透视函数的错误。所以我研究了一个解决方案,发现 SQL Server CE 中不存在 pivot。
所以有人知道我如何在 SQL Server Compact Editions 中执行此操作吗?提前致谢
这个有用吗?
Select name,
sum(case datename(month, Date) when 'January' then Amount else 0 end) as Jan,
sum(case datename(month, Date) when 'February' then Amount else 0 end) as Feb,
...
...
From Donate
group by name