Ir para conteúdo

POWERED BY:

Arquivado

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

jonasreichel

Query Faturas

Recommended Posts

Boa noite..

 

Estou precisando de ajuda para criar uma query em sql que me solucione os problemas abaixo.

 

Hoje ocorre aqui na empresa de um cliente, por erro, pagar uma conta adiantada..

 

Gostaria de um select (tables clientes e cobrancas), para que verifique se o cliente pagou uma fatura adiantado..

 

Exemplo: Cliente pagou maio e não pagou abril, março..

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, melhore sua pergunta por favor.

 

Publique a estrutura das tabelas

Que campos indicam um pagamento ?

Que campos indicam um título em aberto ?

 

 

Dica : pesquise por function de data no MySql, pesquise por CASE, exemplo a rodo neste site mesmo.

https://under-linux.org/showthread.php?t=138086

 

http://forum.devmedia.com.br/viewtopic.php?t=71670

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelo retorno..

 

Meu problema é que os clientes pagam faturas adiantadas e esquecem as anteriores.

 

A estrutura é a seguinte:

 

tbl_cobranca

- id

- cliente_id

- data_vencimento_fatura

- paga (1 = Sim / 0 = Não)

 

tbl_cliente

- id

- Nome

 

Eu quero selecionar quem pagou Agosto e esqueceu Junho / Maio / Julho etc..

 

Obrigado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com base neste post do Motta, utilizaremos a seguinte query:

SELECT
  npagas.id,
  npagas.cliente_id,
  npagas.data_vencimento_fatura,
  npagas.paga,
  pagas.id,
  pagas.data_vencimento_fatura,
  pagas.paga
FROM
(
SELECT
  id,
  cliente_id,
  data_vencimento_fatura,
  paga
FROM tbl_cobranca
WHERE paga = 0
) npagas,
(SELECT
  id,
  cliente_id,
  data_vencimento_fatura,
  paga
FROM tbl_cobranca
WHERE paga = 1) pagas
WHERE
  npagas.cliente_id = pagas.cliente_id
  AND pagas.data_vencimento_fatura < npagas.data_vencimento_fatura
GROUP BY npagas.id # agrupa as faturas não pagas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado lokaodomau, ajustei o select e ele retorna assim:

 

 

 

id cliente_id data_vencimento_cobranca paga id data_vencimento_cobranca paga

 

708 26 2011-08-07 0 701 2011-01-07 1

Eu queria somente rotornar o nome e o id da pessoa que esta nessa situacao, pois assim posso criar um link direto com o cliente na parte das faturas, se puder me ajudar, fico grato..

 

 

Att.. e muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se tiver o campo com a data do pagamento da fatura fica certo, basta mudar [inline] pagas.data_vencimento_fatura < npagas.data_vencimento_fatura [/inline] por [inline] pagas.data_pagamento < npagas.data_vencimento_fatura [/inline], aí você adapta os campos com os valores necessários.

INNER JOIN tbl_cliente c ON c.id = t1.cliente_id

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.