Array
(
)

SQL - Converter o valor exibido no PIVOT

Bruno Mello
   - 13 set 2016

Boa tarde, estou tentando converter o valor exibido no pivot conforme no código abaixo.
SELECT *
FROM(
SELECT
YEAR(Data) [Year],
CASE MONTH(Data)
WHEN 1 THEN 'January'
WHEN 2 THEN 'February'
WHEN 3 THEN 'March'
WHEN 4 THEN 'April'
WHEN 5 THEN 'May'
WHEN 6 THEN 'June'
WHEN 7 THEN 'July'
WHEN 8 THEN 'August'
WHEN 9 THEN 'September'
WHEN 10 THEN 'October'
WHEN 11 THEN 'November'
WHEN 12 THEN 'December'
END as [Month],
--logagent,
soma, ( coluna soma esta como float)
FROM dbo.View_teste
where data>='2016-01-01' and data<='2016-03-31' and logrespo='1111'
group by logagent,data,soma,logrespo

) WorkOrders
PIVOT
(
convert(varchar,(convert(datetime, AVG(soma))),108) -- Nessa linha eu tento converter o valor para aparecer por exemplo "00:05:38" mas aparece o erro "Sintaxe incorreta perto da palavra-chave 'convert'."
FOR [Month] IN (
[January],[February],[March],[April],
[May],[June],[July],[August],
[September],[October],[November],[December]
)

) AS PivotTable

Se alguém puder me ajudar agradeço.

Luiz Santos
|
MVP
Pontos: 750
    13 set 2016

Boa tarde Bruno.
Pelo que vi no seu código, o problema está nessa linha aqui:
#Código

convert(varchar,(convert(datetime, AVG(soma))),108)


Nessa parte, você tem que colocar uma função de agregação, e apenas ela, no caso

#Código
PIVOT(
AVG(Soma)
FOR


Ai toda essa parte do CONVERT você colocaria lá em cima, onde está o SELECT *

Espero ter ajudado.

Grande abs

Luiz Fernando

Bruno Mello
   - 14 set 2016

Bom dia Luiz,

Deu certo, segui sua orientação e funcionou, eu também conseguir fazer depois de varias tentativas eu criei uma outra view e no select nela eu fiz o convert, mas com sua ajuda a consulta é mais rápida.
Muito obrigado Luiz, abraços.