Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gsimonassi

plano de contas

Recommended Posts

Boa tarde, estou fazendo uma tela de plano de contas, com controle de entradas e saídas, onde tenho a tabela de lançamentos:



id |conta | lancamento | valor | tipo

1 | 2 | Recebimento | 50,00 | E

2 | 2 | Recebimento | 50,00 | E

3 | 2 | Pagamento | 40,00 | S

4 | 3 | Recebimento | 80,00 | E

5 | 3 | Pagamento | 40,00 | S


onde eu preciso somar o total das entradas(tipo E), somar o total das saidas(Tipo S), agrupar por contas, e a diferenca é o saldo da conta,

preciso que me retorne da seguinte forma:



conta |entradas | saidas | saldo

2 |100,00 | 40,00 | 60,00

3 |80,00 | 40,00 | 40,00



uso mysql 5.2


Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, obrigado pela ajuda.

Fiz da seguinte forma:

 

SELECT
(SELECT sum(valor) FROM LANCAMENTOS WHERE tipo = 'E') AS ENTRADA,
(SELECT sum(valor) FROM LANCAMENTOS WHERE tipo = 'S') AS SAIDA
FROM LANCAMENTOS GROUP BY CONTA
Agora preciso diminiuir as saidas das entradas, para chegar ao saldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o CASE não vei precisar dos subselect

como coluna.

Compartilhar este post


Link para o post
Compartilhar em outros sites
ok, ficou dessa forma:


SELECT CONTA,

SUM(CASE WHEN TIPO='E' THEN VALOR ELSE 0 END) as ENTRADAS,

SUM(CASE WHEN TIPO='S' THEN VALOR ELSE 0 END) as SAIDAS

FROM LANCAMENTOS

GROUP BY CONTA


ele esta me retornado o total das entradas e saídas agrupado pela contas, corretamente, agora só preciso diminuir as saídas das entradas para chegar ao saldo. Como faço ?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites


SELECT CONTA,

SUM(CASE WHEN TIPO='E' THEN VALOR ELSE 0 END) as ENTRADAS,

SUM(CASE WHEN TIPO='S' THEN VALOR ELSE 0 END) as SAIDAS,

SUM(CASE(WHEN TIPO='E' THEN VALOR ELSE VALOR*-1 END) AS SALDO

FROM LANCAMENTOS

GROUP BY CONTA

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.