Ir para conteúdo

POWERED BY:

Arquivado

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

patriciatoscano

Problemas com busca na mesma coluna com valores diferentes

Recommended Posts

Olá galera é o seguinte,Estou com um probelma que é o seguinte, preciso buscar em uma das colunas de uma tabela, porém com 2 valores diferentes em uma mesma coluna, ex: SELECT * FROM passagem WHERE idcliente = '1' AND (idloja = '1') AND (idloja = '2') AND (datas BETWEEN #10/11/2006# AND #12/11/2006#) AND (horario BETWEEN #07:15:00# AND #23:00:00#) ORDER BY id ASCPorém quando busco usando o (idloja = '1') AND (idloja = '2'), não encontra dados no banco, diz que não encontrou, porém se eu coloco:(idloja = '1') OR (idloja = '2'), ele encontra os dados porem não filtra o BETWEEN corretamente pelos entre as data e horario acima no exemplo.Deveria retornar sim os dados das com os idloja 1 e 2 e ainda filtrar pelo preiodo de datas e horario.Ele esta pegando todos os registros da tabela sem filtragem por data e horário.alguém poderia me ajudar a resolver, isso alguém teria uma solução, e poderia me mostrar um exemplo de como resolver isso, o banco que estou usando a principio é access, porem devo migrar depois para o sql server.Aguardo uma ajuda urgente, postem também o código de exemplo de vocês de como eu devo solucionar isso, pois desta forma fica mais, claro de entender.Um Abraço a todos desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera é o seguinte,

 

Estou com um probelma que é o seguinte, preciso buscar em uma das colunas de uma tabela, porém com 2 valores diferentes em uma mesma coluna, ex:

 

SELECT * FROM passagem WHERE idcliente = '1' AND (idloja = '1') AND (idloja = '2') AND (datas BETWEEN #10/11/2006# AND #12/11/2006#) AND (horario BETWEEN #07:15:00# AND #23:00:00#) ORDER BY id ASC

 

 

Porém quando busco usando o (idloja = '1') AND (idloja = '2'), não encontra dados no banco, diz que não encontrou, porém se eu coloco:

 

(idloja = '1') OR (idloja = '2'), ele encontra os dados porem não filtra o BETWEEN corretamente pelos entre as data e horario acima no exemplo.

 

Deveria retornar sim os dados das com os idloja 1 e 2 e ainda filtrar pelo preiodo de datas e horario.

 

Ele esta pegando todos os registros da tabela sem filtragem por data e horário.

 

 

alguém poderia me ajudar a resolver, isso alguém teria uma solução, e poderia me mostrar um exemplo de como resolver isso, o banco que estou usando a principio é access, porem devo migrar depois para o sql server.

 

Aguardo uma ajuda urgente, postem também o código de exemplo de vocês de como eu devo solucionar isso, pois desta forma fica mais, claro de entender.

 

Um Abraço a todos desde já.

 

 

Acho que é problema de parentesis:

 

SELECT * FROM passagem WHERE idcliente = '1' AND (idloja = '1' OR idloja = '2') AND (datas BETWEEN #10/11/2006# AND #12/11/2006#) AND (horario BETWEEN #07:15:00# AND #23:00:00#) ORDER BY id ASC

 

Dependendo de como esta os parentesis mistura o resultado. Tenta ia e posta o resultado.

 

t+

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.