Dúvida de SQL.

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qui, 26 Jul 2007 10:16 am

Salve grande galera oraclianos.

Galera fiquei encucado com uma parada, que me deparei hoje.

Fiz o seguinte select:

SELECT USER, T6155.*
FROM FORMA_PAGAMENTO_TIPO_TARIFA T6155
WHERE T6155.CD_OPERACAO_TRANSPORTE IN
(SELECT T6439.CD_OPERACAO_TRANSPORTE
FROM USUARIO_PROGRAMA_OPE_TPT T6439
WHERE T6439.CD_USUARIO = USER
AND T6439.CD_PROGRAMA = 'LTCC1110')
OR USER = 'CAMCOM01'
AND T6155.NR_SEQ_FORMA_PGT_TARIFA = 11426

porém eu estava conectado com o usuário CORPORATIVO, e ele me retornava todos os registros.

Ai então mudei o meu sql para o seguinte:

SELECT USER, T6155.*
FROM FORMA_PAGAMENTO_TIPO_TARIFA T6155
WHERE (T6155.CD_OPERACAO_TRANSPORTE IN
(SELECT T6439.CD_OPERACAO_TRANSPORTE
FROM USUARIO_PROGRAMA_OPE_TPT T6439
WHERE T6439.CD_USUARIO = USER
AND T6439.CD_PROGRAMA = 'LTCC1110')
OR USER = 'CAMCOM01')
AND T6155.NR_SEQ_FORMA_PGT_TARIFA = 11426

e me retornou somente o registro que eu queria.

Bom a pergunta em questão é a seguinte qual a diferença dos meus sql´s, quando eu coloco OR sem parentesis ele não interpreta o que está abaixo?
meguelito
Localização: Santa Catarina

Att.:
Alan Juliano Metzger
Programador Oracle
Inside System Informática
Msn/E-mail: alanjuliano@yahoo.com.br

Mensagemem Qui, 26 Jul 2007 12:11 pm

Isso aí é um problema de lógica. As linhas retornarão se todas as condições especificadas no where resultarem em Verdadeiro. Então veja, avaliar:

Código: Selecionar todos
Verdadeiro AND Verdadeiro OR Falso


pode dar resultado diferente de avaliar

Código: Selecionar todos
Verdadeiro AND (Verdadeiro OR Falso)
tom
Localização: Guarulhos - SP

Mensagemem Qui, 26 Jul 2007 1:11 pm

Exatamente. Veja que o que está entre parênteses é executado ANTES.
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


    Voltar para SQL

    Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes