Fórum Buscando meses em atraso - FIrebird #517677

23/04/2015

0

Olá pessoal!

uso o Firebird 2.5, e preciso buscar todos sócios que não pagam a mensalidade a mais de 3 meses.

Tabela aonde fica os Sócios = SOC_SOCIOS
Tabela aonde fica as mensalidades = MOV_MOVIMENTOS

( não sei se é util saber, mas na tabela MOV_MOVIMENTOS tem um campo com a data que a mensalidade foi paga, chama-se "RECEB_DATA".



Agradeço quem puder me ajudar!!
Marcos Roberto

Marcos Roberto

Responder

Post mais votado

24/04/2015

Não trabalho com FireBird, então não sei se a possui essa função. No Sql Server você pode usar a função DATEIFF, passando como parâmetro "mês", campo da data, data atual, e no final, você coloca a condição, no seu caso, maior ou igual a 3.
Ficaria assim:

select * from soc_socios as s inner join  mov_movimentos as m on s.cod = m.socio_cod_id
and DATEDIFF ( MONTH , m.RECEB_DATA , GETDATE()) >= 3

Randrade

Randrade
Responder

Gostei + 1

Mais Posts

23/04/2015

Marcos P

Impossível te ajudar com esse nível de detalhes que você colocou.

Faz o seguinte, vai no Fiddle e coloca tuas tabelas e alguns registros pra teste.

Depois disso, passa o link que eu te ajudo.

T+
Responder

Gostei + 0

23/04/2015

Marcos Roberto

Olá Marcos!

desculpe...

então eu fui no site que vc me indicou e segue os links:
http://sqlfiddle.com/#!9/b7e50/1
http://sqlfiddle.com/#!9/96c13

Grato.
Responder

Gostei + 0

24/04/2015

Marcos P

Marcos,

O esquema do Fiddle é colocar tudo em uma sessão só, criando as tabela e inserindo os dados na janela da esquerda e fazendo a query na janela da direita.

Dá uma olhada nesse exemplo.
Responder

Gostei + 0

27/04/2015

Marcos P

E aí... resolveu ?
Responder

Gostei + 0

27/04/2015

Marcos Roberto

Bom dia pessoal!!

Resolvido!!!

a dica do Randrade funcionou, só tive que fazer uma adaptaçãozinha na select porque o GETDATE não funciona no Firebird.


Obrigado a todos!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar