union 2 tablas distintas bases de datos en oracle
Publicado por Manuel (1 intervención) el 12/05/2009 11:07:57
Hola amigos, solicito la ayuda de algun experto de oracle para poder solucionar este problemita, estoy consultando 3 tablas de una base de datos GENERAL y 3 de otra TDACAM1 haciendo inner joins entre ellas.
Tenemos 2 bases de datos
TDACAM1 y GENERAL
dentro de TDACAM1 tenemos la tabla HISTORICO y dentro de esta tabla el campo TIPO_REF
GENERAL dentro de esta base de datos tenemos 3 tablas que tengo que combinar para sacar de una final un tipo ref , que se compara con el tipo REF de TDACAM.HISTORICO = GENERAL.TIPOREF_ENTIDAD
la consulta es la siguiente, me funciona pero repite muchas veces los datos
SELECT SUM(TDACAM1.HISTORICO.PRINCIPAL_TEORICO) AS SALDO,
GENERAL.TIPOS_REF.TIPO_REF AS TIPO,
TDACAM1.INICIAL.FRECUENCIA_PAGO_INTE AS FPI,
TDACAM1.REGISTRAL.PER_REV_TIPO AS PRT,
COUNT(TDACAM1.HISTORICO.ID_PRESTAMO) AS N_PTOS
FROM
(((TDACAM1.HISTORICO INNER JOIN TDACAM1.INICIAL ON
TDACAM1.HISTORICO.ID_PRESTAMO = TDACAM1.INICIAL.ID_PRESTAMO) INNER JOIN
TDACAM1.REGISTRAL ON
TDACAM1.INICIAL.ID_PRESTAMO = TDACAM1.REGISTRAL.ID_PRESTAMO) INNER JOIN
((GENERAL.tiporef_entidad INNER JOIN GENERAL.agrupa_tiporef ON
general.tiporef_entidad.cod_ref = general.agrupa_tiporef.cod_ref) INNER JOIN
GENERAL.tipos_ref ON
general.agrupa_tiporef.tipo_agrupado = general.tipos_ref.cod_ref)
ON TDACAM1.HISTORICO.TIPO_REF = GENERAL.TIPOREF_ENTIDAD.TIPO_REF)
WHERE
TDACAM1.HISTORICO.SIT_PRESTAMO = 'c' AND
TDACAM1.HISTORICO.FECHA = 200812 AND
TDACAM1.HISTORICO.PRINCIPAL_TEORICO <> 0
GROUP BY
general.tipos_ref.tipo_ref,
TDACAM1.INICIAL.FRECUENCIA_PAGO_INTE,
TDACAM1.REGISTRAL.PER_REV_TIPO
ORDER BY
general.tipos_ref.tipo_ref,
TDACAM1.INICIAL.FRECUENCIA_PAGO_INTE,
TDACAM1.REGISTRAL.PER_REV_TIPO
Tenemos 2 bases de datos
TDACAM1 y GENERAL
dentro de TDACAM1 tenemos la tabla HISTORICO y dentro de esta tabla el campo TIPO_REF
GENERAL dentro de esta base de datos tenemos 3 tablas que tengo que combinar para sacar de una final un tipo ref , que se compara con el tipo REF de TDACAM.HISTORICO = GENERAL.TIPOREF_ENTIDAD
la consulta es la siguiente, me funciona pero repite muchas veces los datos
SELECT SUM(TDACAM1.HISTORICO.PRINCIPAL_TEORICO) AS SALDO,
GENERAL.TIPOS_REF.TIPO_REF AS TIPO,
TDACAM1.INICIAL.FRECUENCIA_PAGO_INTE AS FPI,
TDACAM1.REGISTRAL.PER_REV_TIPO AS PRT,
COUNT(TDACAM1.HISTORICO.ID_PRESTAMO) AS N_PTOS
FROM
(((TDACAM1.HISTORICO INNER JOIN TDACAM1.INICIAL ON
TDACAM1.HISTORICO.ID_PRESTAMO = TDACAM1.INICIAL.ID_PRESTAMO) INNER JOIN
TDACAM1.REGISTRAL ON
TDACAM1.INICIAL.ID_PRESTAMO = TDACAM1.REGISTRAL.ID_PRESTAMO) INNER JOIN
((GENERAL.tiporef_entidad INNER JOIN GENERAL.agrupa_tiporef ON
general.tiporef_entidad.cod_ref = general.agrupa_tiporef.cod_ref) INNER JOIN
GENERAL.tipos_ref ON
general.agrupa_tiporef.tipo_agrupado = general.tipos_ref.cod_ref)
ON TDACAM1.HISTORICO.TIPO_REF = GENERAL.TIPOREF_ENTIDAD.TIPO_REF)
WHERE
TDACAM1.HISTORICO.SIT_PRESTAMO = 'c' AND
TDACAM1.HISTORICO.FECHA = 200812 AND
TDACAM1.HISTORICO.PRINCIPAL_TEORICO <> 0
GROUP BY
general.tipos_ref.tipo_ref,
TDACAM1.INICIAL.FRECUENCIA_PAGO_INTE,
TDACAM1.REGISTRAL.PER_REV_TIPO
ORDER BY
general.tipos_ref.tipo_ref,
TDACAM1.INICIAL.FRECUENCIA_PAGO_INTE,
TDACAM1.REGISTRAL.PER_REV_TIPO
Valora esta pregunta


0