Array
(
)

Separar por Mês no Sql Server

Welington Silva
   - 07 abr 2015

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)

Marcos P
   - 07 abr 2015

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 ?

Welington Silva
   - 07 abr 2015

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.

Joel Rodrigues
   - 07 abr 2015

Qual resultado você está obtendo com essa consulta?

Welington Silva
   - 07 abr 2015

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

Marcos P
   - 07 abr 2015

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

#Código

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) 

Marcos P
   - 07 abr 2015

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

#Código

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) 

Joel Rodrigues
   - 07 abr 2015

O resultado parece estar de acordo com o que você deseja. Poderia explicar melhor por que esse resultado não lhe atende?