Ir para conteúdo
Fórum Script Brasil
  • 0

Porque uma clausula do where não funciona ?


Marianne

Pergunta

Tenho uma Query que funciona bem com as datas porem quando acrescento uma outra clausula com AND não da resultado algum

Sql = SELECT Dados.Id, Dados.Nome, Dados.Telefone, Dados.LocDataCheckIN, Dados.LocDataCheckOut, Dados.Status as StatusReserva FROM Dados INNER JOIN Moto ON Dados.LocVeiculo = Moto.id_moto WHERE (Dados.Status = 1) AND (Dados.LocDataCheckIN BETWEEN #2/16/2008# And #5/20/2008#) OR (Dados.LocDataCheckOUT BETWEEN #2/16/2008# And #5/20/2008#)

Nesta parte "WHERE (Dados.Status = 1) AND" não da resultado algum

Acaba exibindo certo as datas que pedi porem mostra os registros com Status=0 também

Porque esta acontecendo isso.. porque não mostra apenas os cvom Status = 1 como pedi na query?

Obrigada

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Marianne

Isso acontece porque, desse jeito, o OR acaba anulando o AND: isso E aquilo OU 'aquilo outro'

Pelo que você relatou, o uso de parênteses vai ajudar na precedência:

isso E (aquilo OU 'aquilo outro')

Assim há garantia que a primeira condição será avaliada separadamente.

Espero que ajude!

[]'s!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...