Ir para conteúdo

POWERED BY:

Arquivado

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

gutolondrina

Query - Lançamento de caixa

Recommended Posts

Boa tarde a todos, estou desenvolvendo um sistema financeiro, tenho a opção de lançamentos de caixa da loja;

segue a tabela
idcaixa
empresa
data_lancamento
vl_entrada
vl_saida
vl_ultimo_lancamento

dentre outros campos que não são de tanta importância para a query, os sitados acima são os principais envolvidos;

O PROBLEMA

Tenho de tirar um relatorio que irá mostrar os dados dos lançamentos, detalhando os dias (se utilizar o group by) ele irá mostrar somente um registro por dia, preciso que descrimine todos os dias mesmo que iguais para ver os lançamentos, e a cada dia diferente, mostrar a soma total que existe em caixa.. ex:

 

Lançamento 1 --------- 21/03/2014 ----------- Entrada R$ 800

Total R$ 800

 

Lançamento 2 --------- 22/03/2014 ----------- Saida R$ 100

Lançamento 3 --------- 22/03/2014 ----------- Entrada R$ 100

Lançamento 4 --------- 22/03/2014 ----------- Saida R$ 200

Total R$ 600

 

preciso de uma query que possa fazer este relatório.

Não sei se consegui ser muito claro no que eu preciso, mas se puderem me ajudar, fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho certeza, mas tem um kamarada chamado WITH ROLLUP, um modificador para GROUP BY que resolve essa parada.

Dá uma olhada no danado aqui: http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

 

Não sei se é exatamente o que você quer, mas, veja só:

 

 

mysql> describe dados;
+-----------------+---------------+------+-----+-------------------+----------------+
| Field           | Type          | Null | Key | Default           | Extra          |
+-----------------+---------------+------+-----+-------------------+----------------+
| idcaixa         | int(11)       | NO   | PRI | NULL              | auto_increment |
| empresa         | varchar(32)   | NO   |     | NULL              |                |
| data_lancamento | timestamp     | NO   |     | CURRENT_TIMESTAMP |                |
| vl_entrada      | decimal(10,2) | NO   |     | NULL              |                |
| vl_saida        | decimal(10,2) | NO   |     | NULL              |                |
+-----------------+---------------+------+-----+-------------------+----------------+
5 rows in set (0.00 sec)


mysql> select * from dados;
+---------+---------+---------------------+------------+----------+
| idcaixa | empresa | data_lancamento     | vl_entrada | vl_saida |
+---------+---------+---------------------+------------+----------+
|       1 | A       | 2013-04-16 15:20:34 |     100.00 |   200.00 |
|       2 | A       | 2013-04-16 15:20:47 |     500.00 |   120.00 |
|       3 | B       | 2013-04-16 15:20:57 |     345.00 |    55.00 |
|       4 | B       | 2013-04-16 15:23:39 |     600.00 |   320.00 |
|       5 | B       | 2013-04-16 15:23:53 |     344.00 |   220.00 |
|       6 | C       | 2013-04-16 15:24:01 |     666.00 |     0.00 |
|       7 | C       | 2013-04-16 15:24:07 |     444.00 |   200.00 |
+---------+---------+---------------------+------------+----------+
7 rows in set (0.00 sec)


mysql> select empresa, date(data_lancamento), sum(vl_entrada), sum(vl_saida) from dados group by empresa,  data_lancamento with rollup;
+---------+-----------------------+-----------------+---------------+
| empresa | date(data_lancamento) | sum(vl_entrada) | sum(vl_saida) |
+---------+-----------------------+-----------------+---------------+
| A       | 2013-04-16            |          100.00 |        200.00 |
| A       | 2013-04-16            |          500.00 |        120.00 |
| A       | NULL                  |          600.00 |        320.00 |
| B       | 2013-04-16            |          345.00 |         55.00 |
| B       | 2013-04-16            |          600.00 |        320.00 |
| B       | 2013-04-16            |          344.00 |        220.00 |
| B       | NULL                  |         1289.00 |        595.00 |
| C       | 2013-04-16            |          666.00 |          0.00 |
| C       | 2013-04-16            |          444.00 |        200.00 |
| C       | NULL                  |         1110.00 |        200.00 |
| NULL    | NULL                  |         2999.00 |       1115.00 |
+---------+-----------------------+-----------------+---------------+

:P

 

Hope it helps.

 

 

P.S: Observe bem

jpj7rCdEqPMtY.png

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.