Sou iniciante no oracle e estou com uma duvida.
Tenho uma query com uma subquery, quando rodo somente a subquery ela retorna os valores que eu preciso, mas quando executo a query relacionada a subquery (a validação) da subquery não funciona e os valores retornados não são os que eu quero que retorne, mostrando:
-- Mas se eu rodo o select todo, junto com a subquery, ele me retorna registros que eram para ser ignorados com a subquery --22823
SELECT EMPR_COD_CIF,
OP_SDO_MEDIO.PROD_COD,
OP_VALOR_SM_CR,
OP_SALDO_DATA_CR,
OP_SALDO_DATA_US,
OP_VALOR_VCTO_CR,
OP_VALOR_VCTO_US
FROM OP_SDO_MEDIO, PROD
WHERE OP_PER_ANO = 2008
AND OP_PER_NUM = 2
AND EXISTS
--Quando eu executo este bloco, daqui pra baixo, retorna os valores que eu quero --20458 registros
(select * from op_sdo_medio o
where o.op_tpint = 'DR' and o.op_per_ano = 2008 and o.op_per_num = 2
and exists (select '1' from op_sdo_medio a where a.op_tpint = 'SI'
and o.op_per_ano = a.op_per_ano
and o.op_per_num = a.op_per_num
and o.empr_cod_cif = a.empr_cod_cif
and o.op_valor_cr = a.op_valor_cr
and o.op_valor_us = a.op_valor_us
and o.op_dt_base = a.op_dt_base
and o.op_dt_vcto = a.op_dt_vcto
and o.op_pzo = a.op_pzo
and o.gr_cod_cif = a.gr_cod_cif)
union
select * from op_sdo_medio o
where o.op_tpint = 'DR' and o.op_per_ano = 2008 and o.op_per_num = 2
and not exists (select '1' from op_sdo_medio a where a.op_tpint = 'SI'
and o.op_per_ano = a.op_per_ano
and o.op_per_num = a.op_per_num
and o.empr_cod_cif = a.empr_cod_cif
and o.op_valor_cr = a.op_valor_cr
and o.op_valor_us = a.op_valor_us
and o.op_dt_base = a.op_dt_base
and o.op_dt_vcto = a.op_dt_vcto
and o.op_pzo = a.op_pzo
and o.gr_cod_cif = a.gr_cod_cif)
union
select * from op_sdo_medio o
where o.op_tpint = 'SI' and o.op_per_ano = 2008 and o.op_per_num = 2
and not exists (select '1' from op_sdo_medio a where a.op_tpint = 'DR'
and o.op_per_ano = a.op_per_ano
and o.op_per_num = a.op_per_num
and o.empr_cod_cif = a.empr_cod_cif
and o.op_valor_cr = a.op_valor_cr
and o.op_valor_us = a.op_valor_us
and o.op_dt_base = a.op_dt_base
and o.op_dt_vcto = a.op_dt_vcto
and o.op_pzo = a.op_pzo
and o.gr_cod_cif = a.gr_cod_cif)
)
valeu.
KRECCHI
