Separar por Mês no Sql Server

07/04/2015

0

Boa tarde Pessoal,

Estou tentando realizar um consulta no Sql Server para agrupar dados dos clientes pode mês, mas não consegui.

Agrupar da seguinte forma

Cliente, Mes, Valor_trn, Qtde_trn

na minha consulta fica um abaixo do outro, precisa separar isso da seguinte forma


Janeiro
Cliente Valor_trn | Qtde_trn


É possível?

Segue a consulta que fiz

select
cliente,
month(data_transacao) as mes,
year(data_transacao) as ano,
sum(valor_trn) as valor_total,
count(cod_sit) as total_transacoes
from transacoes

group by cliente, month(data_transacao), year(data_transacao)
Welington Silva

Welington Silva

Responder

Posts

07/04/2015

Marcos P

Isso é um relatório ?

Porque você não mantém a query original como está e tratada essa quebra do lado da aplicação, onde, teoricamente, você tem mais controle sobre a apresentação dos dados ?
Responder

07/04/2015

Welington Silva

Marcos,

Desculpe, acabei colocando errado.

preciso de uma uma consulta que me traga o valor total e quantidade de transações por cliente, pensei algo como o resultado abaixo


Cliente, Mes, Valor_total, Total_transacoes

e depois disso criar um relatório.
Responder

07/04/2015

Joel Rodrigues

Qual resultado você está obtendo com essa consulta?
Responder

07/04/2015

Welington Silva

Exemplo re retorno.

Cliente Mês Ano Valor_total Total_transacoes
Cliente_0 9 2014 6590645,03 16716
Cliente_0 10 2014 7188559,77 17742
Cliente_0 11 2014 10628467,82 26731
Responder

07/04/2015

Marcos P

E a query que você colocou, não faz exatamente isso ?

select
cliente,
month(data_transacao) as mes,
year(data_transacao) as ano,
sum(valor_trn) as valor_total,
count(cod_sit) as total_transacoes
from transacoes
group by cliente, month(data_transacao), year(data_transacao) 
Responder

07/04/2015

Marcos P

Caso o seu problema seja o tratamento de mês e ano, você pode fazer :

select
cliente,
convert(char(7),data_transacao,102) as periodo
sum(valor_trn) as valor_total,
count(cod_sit) as total_transacoes
from transacoes
group by cliente, convert(char(7),data_transacao,102) 
Responder

07/04/2015

Joel Rodrigues

O resultado parece estar de acordo com o que você deseja. Poderia explicar melhor por que esse resultado não lhe atende?
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