SQL - Converter o valor exibido no PIVOT

13/09/2016

0

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.
Bruno Mello

Bruno Mello

Responder

Posts

13/09/2016

Luiz Santos

Boa tarde Bruno.
Pelo que vi no seu código, o problema está nessa linha aqui:
convert(varchar,(convert(datetime, AVG(soma))),108)


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

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
Responder

14/09/2016

Bruno Mello

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.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar