Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel Reis_75881

Select entre datas

Recommended Posts

Pessoal, boa tarde!

 

Estou com uma dificuldade, preciso fazer um select entre datas de colunas diferentes do banco, e preciso pegar qualquer reserva que exista dentro de um período, cheguei na query abaixo:


select * from inventario WHERE produto_id = (select produto_id from itens_pedido WHERE id = (select item_pedido_id from itens_reservados)) AND id NOT IN (select item_inventario_id from itens_reservados WHERE data_inicial >= '2013-02-18' and data_final <= '2013-02-20')

 

Bem, se a data de inicio estiver exata com algum registro do banco funciona, porém, se eu colocar a data um dia após, mesmo estando no intervalor não está rolando.

 

Para quem indicar usar o between, também já tentei.

 

Resumindo o problema:

- Preciso caputarar os registros que estiverem entre duas datas (incial e final).

 

A parte da query que realmente importa é:

 

select item_inventario_id from itens_reservados WHERE data_inicial >= '2013-02-18' and data_final <= '2013-02-20

Compartilhar este post


Link para o post
Compartilhar em outros sites

se entendi bem, se é isso q vc quer:

AND id NOT IN (select item_inventario_id from itens_reservados...

tente assim:

AND id NOT IN (select id from itens_reservados,,,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, Fernando C, mas não era isso.

 

Um amigo olhou a query e me chamou a atenção que eu havia invertido os sinais, então ficou assim:

 

select * from itens_reservados WHERE data_inicial <= '2013-02-18' AND data_final >= '2013-02-20'

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso:

SELECT inventario.* FROM inventario LEFT JOIN itens_pedido ON inventario.id_produto=itens_pedido.produto_id LEFT JOIN itens_reservados ON inventario.id_produto=itens_pedido.id WHERE (itens_reservados.item_inventario_id <> itens_pedido.id) AND data_pedido NOT BETWEEN '2013-02-18' AND '2013-02-20');

 

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.