Hola Luciano,
Ya había pensado en tu solución pero no recuerdo si la implementé o no... de cualquier manera la probe y me devuelve el siguiente error en IBOConcole:
Código:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
invalid column reference
De todos modos ya encontre la solución: usando una vista,
totalctabco (muchas gracias a marcoszorrilla por su sugerencia)
Código SQL
[-]
CREATE VIEW totalctabco (cod_cta, est_fnz, total_bs) AS
SELECT cod_cta, est_fnz, SUM(total_bs) AS total_bs
FROM cbpmov01
WHERE est_fnz = '6160' AND tipo NOT IN ('NC', 'ND')
GROUP BY cod_cta, est_fnz
UNION
SELECT cod_cta, est_fnz, SUM(total_bs) AS total_bs
FROM cbpmov02
WHERE est_fnz = '6160'
GROUP BY cod_cta, est_fnz
Luego uso la vista
totalctabco desde otro SELECT:
Código SQL
[-]
SELECT cod_cta, est_fnz, SUM(total_bs) AS total_bs
FROM totalctabco
GROUP BY cod_cta, est_fnz
Con este SELECT obtengo el resultado que estaba buscando:
Código:
COD_CTA EST_FNZ TOTAL_BS
============ ======= ==================================
1101007 6160 -85
6160001 6160 -68950
6160002 6160 -1747262,73
Las dos últimas filas (6160002) ahora son una sola y las columnas
total_bs correspondientes ahora están sumadas ....
De cualquier manera prefiero hacerlo sin vistas, si llego a cometer algún error en la vista, debo modificarla para luego ejecutar nuevamente un SELECT...
Otros dos grandes problemas:
1. No puedo colocar dentro de una vista un FROM hacia una tabla vacía, InterBase 6.5 cierra la conexión con la base de datos.
2. No como pasarle parametros a una vista desde Delphi (si alguien lo ha hecho, por favor me ilumine).
Gracias por sus sugerencias ...