none
Duvida de select RRS feed

  • Pergunta

  • Pessoal to com uma duvida boba da minha parte, preciso fazer esse select e no caso do campo cd_evento eu tenho que pegar os com codigo 407 e 411, como eu faria pra conseguir isso, tentei como esta abaixo mas esta errado, e colocando o and de novo ele não pega nada.

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento=407 and 411 from TTSMOVTO

    quarta-feira, 27 de junho de 2012 20:25

Respostas

  • Execute desta forma e veja se funciona.

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento in (407,411)

    • Marcado como Resposta RJCERRI quarta-feira, 27 de junho de 2012 21:27
    quarta-feira, 27 de junho de 2012 20:59

Todas as Respostas

  • Olá RJCERRI

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento=407 and cd_evento=411 from TTSMOVTO

    ou

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento in (407,411) from TTSMOVTO

    Att.,

    Jeimes Ribeiro

    "Caso a resposta seja útil, marque-a como certa"

    quarta-feira, 27 de junho de 2012 20:31
  • Da esses erros.

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento=407 and cd_evento=411 from TTSMOVTO

    SQL command not properly ended

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento in (407,411) from TTSMOVTO

    ORA-00936: missing expression

    quarta-feira, 27 de junho de 2012 20:40
  • Desculpe, acabei de ver que o seu comando SQL tem um SELECT * FROM TTSMOVTO WHERE ....from TTSMOVTO

    Retire o último "from TTSMOVTO"

    Execute este e veja se funciona

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento in (407,411)

    Att.,

    Jeimes Ribeiro

    quarta-feira, 27 de junho de 2012 20:54
  • Quando eu coloco só assim cd_evento=411 ou cd_evento=407 ele filtra e não da erro, mas eu preciso pegar os dois juntos.
    quarta-feira, 27 de junho de 2012 20:56
  • Execute desta forma e veja se funciona.

    SELECT * FROM TTSMOVTO WHERE DT_MOVIMENTO=to_date('" & dtresgate.Text & "','dd/mm/yyyy') AND IN_SITUAC='E' and cd_cliente<>9901 and cd_evento in (407,411)

    • Marcado como Resposta RJCERRI quarta-feira, 27 de junho de 2012 21:27
    quarta-feira, 27 de junho de 2012 20:59
  • Não da erro, mas ele só ta pegando os 407, mesmo eu invertendo a ordem (407,411)  ou (411,407).
    quarta-feira, 27 de junho de 2012 21:04
  • Você colocando dessa forma " cd_evento in (407,411) " irá retornar os dois, mas como tudo ou quase tudo tem um porém então vamos lá.

    Se você tem certeza que seus dados possuem os cd_evento de número 407 e 411, faça o seguinte.

    O seu comando SQL tem outras condições além do cd_evento in (407, 411), então para uma análise mais rápida retire as outras condições e execute o comando SQL dessa forma:

    SELECT * FROM TTSMOVTO WHERE cd_evento in (407,411)

    Caso retorne o 407 e 411  significa que você não tem o cd_evento 411 que atenda todas as outras condições anteriores.

    Caso não retorne o 411 é porque você não tem mesmo nenhum registro "411" no campo cd_evento.

    Obs.: Quando você utiliza no comando SQL o operador AND, para que ele retorne registros, TODAS as condições devem ser VERDADEIRAS, caso contrário ele não irá retornar.

    Att.,

    Jeimes Ribeiro



    quarta-feira, 27 de junho de 2012 21:15
  • Desculpa, a sua opção estava certa eu não vi que não tinha apagado o cd_evento=407, por isso usando o in não estava indo. Obrigadao

    Abs

    quarta-feira, 27 de junho de 2012 21:27
  • Sem problemas, o importante é que conseguiu resolver o problema.

    Att.,

    Jeimes Ribeiro

    quarta-feira, 27 de junho de 2012 21:29