Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Mejorar SELECT COUNT (https://www.clubdelphi.com/foros/showthread.php?t=44268)

ferjavrec2 01-06-2007 21:00:00

Mejorar SELECT COUNT
 
Hola estoy haciendo una consulta a una base firebird y lo hago de esta forma.

Código:

with dm1.Movimientos do
  begin
    Close;
    SelectSQL.Clear;
    SelectSQL.Add('select movi_coop, movi_servicio, movi_medidor, movi_establecimiento,');
    SelectSQL.Add('movi_factura, movi_unidades, movi_importe, movi_enviado, movi_coop_nombre,');
    SelectSQL.Add('(select count(*) from movimientos where 1=1 and movi_enviado = ''no'' AND movi_servicio = '''+Temp+''' AND clave_organizacion = '''+inttostr(org_activa)+''')as TRegs,');
    SelectSQL.Add('(select sum(movi_importe) from movimientos where 1=1 and movi_enviado = ''no'' AND movi_servicio = '''+Temp+''' AND clave_organizacion = '''+inttostr(org_activa)+''')as GTotal');
    SelectSQL.Add('FROM movimientos');
    SelectSQL.Add('WHERE movi_enviado = ''no''');
    SelectSql.Add('AND movi_servicio = '''+Temp+'''');
    SelectSQL.Add('AND clave_organizacion = '''+inttostr(org_activa)+'''');
    SelectSQL.Add('ORDER BY movi_coop, movi_establecimiento');
    Open;

Se puede hacer de otra forma, ya que estoy repitiendo casi la misma consulta tres veces. Me refiero a SELECT COUNT y SELECT SUM.
bueno muchas gracias
saludos


La franja horaria es GMT +2. Ahora son las 07:53:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi