Ver Mensaje Individual
  #1  
Antiguo 20-10-2008
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Reputación: 21
seara2005 Va por buen camino
Consultas SQL similares?

Hola a todos

Mi situación es la siguiente:
Utilizo Delphi 2007, Firebird 2.1. y me conecto con los Ib componentes.
Tengo tres tablas (Cuentas con unos 10 registros, AFT con unos 700 registros y Transac con unos 35 mil registros) el tamaño de la base de datos es de 3.3 mb.
El problema es que estoy realizándo aparentemente la misma consulta SQL de dos formas distintas:
La primer forma:
Código SQL [-]
Select Ctas.Codigo, Ctas.Descripcion, Sum(Tr.valor_resid)
From Cuentas Ctas, AFT, transac Tr
Where Ctas.Codigo = AFT.Cuenta
And Tr.Periodo = '07-02'
And AFT.Codigo = Tr.CodAft
Group by Ctas.Codigo, Ctas.Descripcion
De esta forma se realiza la consulta en un instante.

La segunda forma es la siguiente:
Código SQL [-]
Select Ctas.Codigo, Ctas.Descripcion,
       Sum(Case When Ctas.codigo = AFT.Cuenta
                And  Tr.Periodo = '07-02'
                Then (Tr.Valor_Resid)
                else 0
           End)
From Cuentas Ctas, AFT, transac Tr
Group by Ctas.Codigo, Ctas.Descripcion

De esta forma se demora como tres minutos procesando y al final me da el error <Insuficiente espacio en disco> y el disco tiene mas de tres gb libres.
Por supuesto la forma que necesito que me funcione es la segunda ya que debo incluir mas campos con otras condiciones.

Como me cansé de compilar tantas veces el programa ya pasé directamente ambas consultas con el IbExpert en la base de datos y el resultado es el mismo.

De antemanos muchas gracias por la ayuda que me puedan prestar.
__________________
Saludos

Seara2005
Responder Con Cita