SQL 查询转置不返回负数

问题描述 投票:0回答:0

我有一个表,我正在使用数据库视图(使用 SQL Server)进行转置。该表有正值和负值。所有负值都返回为零。关于如何纠正这个问题的任何想法?

我的原始表格示例:

高峰 值_A 值_B
2016 上午 15.156546 51.265146
2018 上午 -15.5998 -14.1565
2028 上午 16.3216 18.5611
2016 知识产权 -0.01656 -0.0026554
2018 知识产权 -0.00159 -0.59874
2028 知识产权 1.98438 3.362498
2016 下午 -5.65436 8.6951
2018 下午 2.2316 3.859117
2028 下午 -3.99842 -9.620148

我的转置视图的结果:

高峰 Value_A_2016 Value_A_2018 Value_A_2028 Value_B_2016 Value_B_2018 Value_B_2028
上午 15.156546 0 16.3216 51.265146 0 18.5611
知识产权 0 0 1.98438 0 0 3.362498
下午 0 2.2316 0 8.6951 3.859117 0

这是视图的 SQL 脚本:

SELECT Peak, MAX(CASE WHEN T .YEAR = 2016 THEN T .[Value_A] ELSE 0.00 END) AS Value_A_2016, 
       MAX(CASE WHEN T .YEAR = 2018 THEN T .[Value_A] ELSE 0.00 END) AS Value_A_2018, 
       MAX(CASE WHEN T .YEAR = 2028 THEN T .[Value_A] ELSE 0.00 END) AS Value_A_2028, 
       MAX(CASE WHEN T .YEAR = 2016 THEN T .[Value_B] ELSE 0.00 END) AS Value_B_2016, 
       MAX(CASE WHEN T .YEAR = 2018 THEN T .[Value_B] ELSE 0.00 END) AS Value_B_2018, 
       MAX(CASE WHEN T .YEAR = 2028 THEN T .[Value_B] ELSE 0.00 END) AS Value_B_2028
FROM gisadmin.Table_1 AS T
GROUP BY Peak

非常感谢您对此的任何帮助。

sql view transpose zero negative-number
© www.soinside.com 2019 - 2024. All rights reserved.