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.
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
Curtir tópico
+ 0
Responder
Posts
13/09/2016
Luiz Santos
Boa tarde Bruno.
Pelo que vi no seu código, o problema está nessa linha aqui:
Nessa parte, você tem que colocar uma função de agregação, e apenas ela, no caso
Ai toda essa parte do CONVERT você colocaria lá em cima, onde está o SELECT *
Espero ter ajudado.
Grande abs
Luiz Fernando
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.
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
Clique aqui para fazer login e interagir na Comunidade :)