Consulta en oracle con condición
Podrían ayudarme con lo siguientes:
Estoy tratando de hacer con consulta sobre dos tablas relacionadas A es general y B es de detalle, pero necesito poner como condición que solo se consideren los registros de la tabla A que tengas más de un registro duplicado por un campo en particular, este campo no es parte del clave primaria.
este es el select que no me funciona:
select g.main_id,
g.mafon_id,
g.tlv_id,
g.mape_id,
g.mati_id,
g.matt_id,
g.mast_id,
g.tlv_n_identifi_cliente,
g.tlv_nombre,
g.matc_id,
g.tlv_fch_reg_conta_cventa,
g.tlv_n_compro_emitidos,
g.tlv_fch_emision_cventa,
g.tlv_base_impo_tarifa_cero,
g.tlv_iva_presuntivo,
g.tlv_base_impo_grabada_iva,
g.mapiva_id,
g.tlv_monto_iva,
g.tlv_base_impo_ice,
g.mapice_id,
g.tlv_monto_ice,
g.tlv_monto_iva_bienes,
g.maprivab_id,
g.tlv_monto_reten_iva_bienes,
g.tlv_monto_iva_servicios,
g.maprivas_id,
g.tlv_monto_reten_iva_servicios,
g.tlv_reten_presuntiva,
g.tlv_observa,
g.tlv_estado,
g.tlv_id_create,
g.tlv_id_modify,
g.tlv_last_modify,
d.macrf_id,
d.dretv_porcen_ret,
d.dretv_base_impo,
d.dretv_monto_ret,
d.dretv_estado
from dfu_owner_at.df_tl_ventas g, dfu_owner_at.df_detalle_reten_tlv d
where g.main_id = d.main_id (+)
and g.mafon_id = d.mafon_id (+)
and g.tlv_id = d.tlv_id (+)
and g.mape_id = '200703'
and exists(select count(*)
from df_tl_ventas t
where g.main_id = t.main_id
and g.mafon_id= t.mafon_id
and g.tlv_id = t.tlv_id
group by t.tlv_n_identifi_cliente
having count(*) > 1)
order by g.main_id, g.mafon_id, g.tlv_id
Estoy tratando de hacer con consulta sobre dos tablas relacionadas A es general y B es de detalle, pero necesito poner como condición que solo se consideren los registros de la tabla A que tengas más de un registro duplicado por un campo en particular, este campo no es parte del clave primaria.
este es el select que no me funciona:
select g.main_id,
g.mafon_id,
g.tlv_id,
g.mape_id,
g.mati_id,
g.matt_id,
g.mast_id,
g.tlv_n_identifi_cliente,
g.tlv_nombre,
g.matc_id,
g.tlv_fch_reg_conta_cventa,
g.tlv_n_compro_emitidos,
g.tlv_fch_emision_cventa,
g.tlv_base_impo_tarifa_cero,
g.tlv_iva_presuntivo,
g.tlv_base_impo_grabada_iva,
g.mapiva_id,
g.tlv_monto_iva,
g.tlv_base_impo_ice,
g.mapice_id,
g.tlv_monto_ice,
g.tlv_monto_iva_bienes,
g.maprivab_id,
g.tlv_monto_reten_iva_bienes,
g.tlv_monto_iva_servicios,
g.maprivas_id,
g.tlv_monto_reten_iva_servicios,
g.tlv_reten_presuntiva,
g.tlv_observa,
g.tlv_estado,
g.tlv_id_create,
g.tlv_id_modify,
g.tlv_last_modify,
d.macrf_id,
d.dretv_porcen_ret,
d.dretv_base_impo,
d.dretv_monto_ret,
d.dretv_estado
from dfu_owner_at.df_tl_ventas g, dfu_owner_at.df_detalle_reten_tlv d
where g.main_id = d.main_id (+)
and g.mafon_id = d.mafon_id (+)
and g.tlv_id = d.tlv_id (+)
and g.mape_id = '200703'
and exists(select count(*)
from df_tl_ventas t
where g.main_id = t.main_id
and g.mafon_id= t.mafon_id
and g.tlv_id = t.tlv_id
group by t.tlv_n_identifi_cliente
having count(*) > 1)
order by g.main_id, g.mafon_id, g.tlv_id
1 respuesta
Respuesta de eldata
1