Dúvida de SQL.
Enviado: 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?
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?