Jump to content

Recommended Posts

Posted

Bom dia, estou com uma pequena dificuldade numa consulta na seguinte tabela

http://www.dropbox.com/s/vbv63kknhvjh2xk/Tabela.PNG

Estou a fazer uma pesquisa em que queria que me devolvesse a soma dos valore do tipo 2 e 4 para cada mes....

SELECT Format(Data, 'YYYY') as Ano, Format(Data,'MMMM') AS Mes,
	 (SELECT SUM(Valor) FROM Movimentos WHERE Tipo = 2 ) AS Gasto,
	 (SELECT SUM(Valor) FROM Movimentos WHERE Tipo = 4 ) AS Premio
FROM Movimentos
Where Year(Data) = 2014
Group by Format(Data, 'YYYY'), Format(Data,'MMMM')

Mas o que eu obtenho é isto...

http://www.dropbox.com/s/qki4u6z3sf64eyp/consulta.PNG

Ele faz a soma, mas é total e nao agrupa apenas pelo mês

Ja ando a 2 dias a volta com isto e ainda nao concegui resolver.. alguem tem uma ideia?

Obrigado

Pedro'O

Posted

Sim no outro resolvi, mas se vires bem era para fazer calculos a soma entre dois valores e depois subtrair para ter um total....

Aqui é para saber o total por mês de cada mês, se tu reparares em cima ele esta a fazer a soma de tudo mas nao faz por mês, ele em Fevereiro devia ter um gasto de 4 e um premio de 50 e em março um gasto de 2 e premio de 10....

Nao era minha intenção causar confusão com o outro, peço desculpa se nao deveria criar outro topico....

Pedro'O

Posted (edited)

Ola,

Nao se se vai ajudar, mas em vez de agrupares pelo campo data,retira esse campo data e cria este que devolve o numero do mes, e agrupas por este.

PartData("m";[Data])

exemplo : 02/04/2014 , devolveria o numero 4

Carlos

Edited by carlosAl

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.