我试图创建一个矩阵,其中包含我在表格中的某些参数的历史数据。问题是,当我试图转动它时,不会工作。使用以下代码
SELECT concept,
[1] '1993',
<...>,
[23] '2015'
FROM
(SELECT concept, YEAR(begin_date) as year, value
FROM params p WITH(NOLOCK)) AS st
PIVOT
(
SUM(value)
FOR year IN ([1], <...>, [23])
) AS pt
只返回一个满NULL值的矩阵。另一方面,我使用其他查询
获得了正确的值 SELECT pt.year 'Year',
[1],
<...>,
[38]
FROM
(SELECT concept, YEAR(begin_date) as year, value
FROM parameters p WITH(NOLOCK)) AS st
PIVOT
(
SUM(value)
FOR concept IN ([1], <...>, [38])
) AS pt
但是那时列和行应该是另一种方式。 造成这种情况的原因是什么?怎么可以解决? 提前致谢
答案 0 :(得分:0)
你有:
year IN ([1], <...>, [23])
这可能应该是
year IN ([1993], <...>, [2015])
当然,选择部分中的那些列也是如此:
SELECT concept,
[1993],
<...>,
[2015]