Problema com banco de dados

3 respostas
java
A

pessoal, estou fazendo um sistema de arranchamento digital, ja esta cadastrando tudo corretamente, porem na hora de buscar e trazer os resultados, estou tendo um seguinte problema

select id from Refeicao where graduacao = 3 and dia1cafe = true
and mesatual1 = '31 de Janeiro’
OR mesatual2 = '31 de Janeiro’
OR mesatual3 = '31 de Janeiro’
OR mesatual4 = '31 de Janeiro’
OR mesatual5 = '31 de Janeiro’
OR mesatual6 = '31 de Janeiro’
OR mesatual7 = ‘31 de Janeiro’

porem, estou com um problema de logica aqui…
eu quero pegar o id de quem tem a graduacao = 3 e que tenha tbm o campo dia1cafe = true…até ai tudo bem, esta certinho…porem, quando ele passa em um desses mesatual com o valor ‘31 de Janeiro’, ele pega o obedece somente essa clausula, desobedecendo as duas anteriores, como se nao existissem.
Deve ser algum erro de lógica, mas nao estou conseguindo enchergar…Alguem poderia dar uma mao? Obrigado

3 Respostas

jonas.cant

Tenta fazer assim:

select id 
  from Refeicao 
 where graduacao = 3 
   and dia1cafe = true 
   and (mesatual1 = '31 de Janeiro'
     or mesatual2 = '31 de Janeiro'
     or mesatual3 = '31 de Janeiro'
     or mesatual4 = '31 de Janeiro'
     or mesatual5 = '31 de Janeiro'
     or mesatual6 = '31 de Janeiro'
     or mesatual7 = '31 de Janeiro')
A

beleza cara deu certinho, muito obrigado.

tucupi

so um detalhe,
seu codigo deu errado pois voce misturou o and com or.

and so traz resultado se todos os and for satisfatorio.
como alguns não eram dava errado.

Criado 29 de janeiro de 2016
Ultima resposta 9 de fev. de 2016
Respostas 3
Participantes 3