none
Query com vários AND e OR RRS feed

  • Pergunta

  • Estou criando uma query que irá filtar a quantidade de notas fiscais emitidas em uma determinada data. (até ai fácil).

    Fui colocando os AND..

    se emissão = a data do parâmetro - OK

    se espécie = sped - ok

    etc.. etc..

    Agora é onde está pegando.. tenho que colocar na query para vir resultado apenas quanto for um dos 3 tipos de produtos.. A B ou C porém se tentei usar o OR ele trouxe muito mais do que deveria...

    SELECT * FROM NOTAS WHERE EMISSAO = '18042013' AND TIPO = 'SPED'  AND PRODUTO = 'A' OR PRODUTO = 'B' OR PRODUTO = 'C'

    mas isto traz um monte de registros que não deveria, e se colocar AND no luga do OR não virá nada até porque nunca terá essa situação.

    Então tentei o IN

    SELECT * FROM NOTAS WHERE EMISSAO = '18042013' AND TIPO = 'SPED'  AND PRODUTO IN('A',B,C') sem sucesso.

    Podem me ajudar?

    Obrigada.


    quinta-feira, 18 de abril de 2013 19:47

Respostas

  • Segue uma alternativa:

    SELECT 
    	* 
    		FROM NOTAS 
    WHERE EMISSAO = '18042013' 
    AND TIPO = 'SPED'  
    AND (PRODUTO = 'A' OR PRODUTO = 'B' OR PRODUTO = 'C')


    Alexandre Matayosi Conde Mauricio.

    quinta-feira, 18 de abril de 2013 20:52
  • Deleted
    quinta-feira, 18 de abril de 2013 22:02
  • Ola Leticia,

    Neste caso o que a query SELECT * FROM NOTAS WHERE EMISSAO = '18042013' AND TIPO = 'SPED'  AND PRODUTO IN('A',B,C')  trouxe de errado?

    Tem como passar um exemplo para vermos o que pode ser?

    • Marcado como Resposta Letícia6 sexta-feira, 19 de abril de 2013 11:44
    quinta-feira, 18 de abril de 2013 19:59

Todas as Respostas

  • Ola Leticia,

    Neste caso o que a query SELECT * FROM NOTAS WHERE EMISSAO = '18042013' AND TIPO = 'SPED'  AND PRODUTO IN('A',B,C')  trouxe de errado?

    Tem como passar um exemplo para vermos o que pode ser?

    • Marcado como Resposta Letícia6 sexta-feira, 19 de abril de 2013 11:44
    quinta-feira, 18 de abril de 2013 19:59
  • Segue uma alternativa:

    SELECT 
    	* 
    		FROM NOTAS 
    WHERE EMISSAO = '18042013' 
    AND TIPO = 'SPED'  
    AND (PRODUTO = 'A' OR PRODUTO = 'B' OR PRODUTO = 'C')


    Alexandre Matayosi Conde Mauricio.

    quinta-feira, 18 de abril de 2013 20:52
  • Deleted
    quinta-feira, 18 de abril de 2013 22:02
  • Agora olhando os posts vi onde errei.. é que confundi... o IN quando usei fiz assim..

    IN ('A,B,C')... Mas agora testando para ter certeza onde foi que errei as coisas não estão saindo erradas.. rsrsrsrsrsr..

    Desculpem pessoal já nem sei mais onde estava errando...O importante agora é que está saindo certo.

    Obrigada.

    sexta-feira, 19 de abril de 2013 11:44