Subselect en 8i y en 10g
Publicado por AbelQ (1 intervención) el 12/08/2008 14:03:51
Tengo una Select con una subselect dentro y en Oracle 10g me funciona pero en Oracle 8i no. Como puedo hacerla compatible para las 2 versiones?
Muchas gracias
SELECT ejercicio, jurisdiccion, SUM(importe) AS Importe,
(SELECT SUM(importe)
FROM vis_formularios V
WHERE V.anio_presup = A.ejercicio AND
A.jurisdiccion = V.jurisdiccion
GROUP BY anio_presup, jurisdiccion
UNION ALL
SELECT SUM(importe_modif)
FROM presup_modif P
WHERE p.anio_presup = A.ejercicio AND
A.jurisdiccion = P.jurisdiccion
GROUP BY anio_presup, jurisdiccion) AS Vigente,
(SELECT SUM(importe)
FROM mov_pres_prev P
WHERE cod_mov_pre > 0 AND (nro_solic > 0 OR nro_regul > 0) AND
p.ejercicio = A.ejercicio AND
A.jurisdiccion = P.jurisdiccion
GROUP BY ejercicio, jurisdiccion) AS Preventivo,
(SELECT SUM(importe)
FROM mov_pres_comp P
WHERE sec_mov_comp > 0 AND
(nro_reg_comp > 0 OR nro_regul > 0 OR nro_reint > 0) AND
p.ejercicio = A.ejercicio AND
A.jurisdiccion = P.jurisdiccion
GROUP BY ejercicio,jurisdiccion) AS Compromiso
FROM ADR_GRC_CTA_TMP_RC A
GROUP BY ejercicio, jurisdiccion
Es un poco compleja, pero en la 10 funciona. Se compone de 3 subselect, la cual la primero es una union. El error que me tira es que no ve el group by de la subselect, entonces me da error SUM(IMPORTE).
Muchas gracias
SELECT ejercicio, jurisdiccion, SUM(importe) AS Importe,
(SELECT SUM(importe)
FROM vis_formularios V
WHERE V.anio_presup = A.ejercicio AND
A.jurisdiccion = V.jurisdiccion
GROUP BY anio_presup, jurisdiccion
UNION ALL
SELECT SUM(importe_modif)
FROM presup_modif P
WHERE p.anio_presup = A.ejercicio AND
A.jurisdiccion = P.jurisdiccion
GROUP BY anio_presup, jurisdiccion) AS Vigente,
(SELECT SUM(importe)
FROM mov_pres_prev P
WHERE cod_mov_pre > 0 AND (nro_solic > 0 OR nro_regul > 0) AND
p.ejercicio = A.ejercicio AND
A.jurisdiccion = P.jurisdiccion
GROUP BY ejercicio, jurisdiccion) AS Preventivo,
(SELECT SUM(importe)
FROM mov_pres_comp P
WHERE sec_mov_comp > 0 AND
(nro_reg_comp > 0 OR nro_regul > 0 OR nro_reint > 0) AND
p.ejercicio = A.ejercicio AND
A.jurisdiccion = P.jurisdiccion
GROUP BY ejercicio,jurisdiccion) AS Compromiso
FROM ADR_GRC_CTA_TMP_RC A
GROUP BY ejercicio, jurisdiccion
Es un poco compleja, pero en la 10 funciona. Se compone de 3 subselect, la cual la primero es una union. El error que me tira es que no ve el group by de la subselect, entonces me da error SUM(IMPORTE).
Valora esta pregunta


0