如何在PIVOT中使用MAX(ABS(十进制))?

时间:2015-01-28 17:28:43

标签: sql sql-server

我目前有以下PIVOT:

PIVOT
(
    MAX(Value)
    FOR [Month] IN
    ( [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12] )
)

我想将MAX(值)修改为MA​​X(ABS(值)),但它给出了一个错误Incorrect syntax near 'Value'. Expected '(' OR SELECT)。我试着单独做SELECT MAX(ABS(-5.0001))并且它有效,所以当我在枢轴中使用它时为什么它不起作用?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我建议你在数据透视源查询中进行绝对转换(abs)

select * from 
(
select abs(value) value,... from yourtable
) a
PIVOT
(
    MAX(Value)
    FOR [Month] IN
    ( [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12] )
)