Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   consulta sql (https://www.clubdelphi.com/foros/showthread.php?t=67278)

picap 08-04-2010 23:51:42

consulta sql
 
tengo una tabla con la siguiente forma

id seccion entregados grupo fecha
1 1101 12 grupo1
2 1101 23 grupo1
3 1101 22 grupo1
4 1102 33 grupo1
5 1201 11 grupo2
6 1204 77 grupo2

lo que trato de hacer es que me de la suma de entregados agrupados por seccion y grupo entre dos fechas determinadas, por ejemplo el resultado para grupo1 segun la tabla seria

1101 57 grupo1
1102 33 grupo1

lo intento con esto:
Código:

form1.acciones.sql.add('select seccion,grupo,(select  sum(entregados) as [entregas] from datos where (fecha >='+QuotedStr(FormatDateTime ('yyyy-mm-dd' , fecha1))+')  and (fecha<='+QuotedStr(FormatDateTime ('yyyy-mm-dd' , fecha2))+') group by seccion) from datos where grupo=:param1');
form1.acciones.ParamByName('param1').asstring:='grupo1';
form1.acciones.Open;

pero me da error, no se si lo que hago esta bien, ¿alguna idea?

cloayza 09-04-2010 00:27:04

Podria ser algo asi...
Código Delphi [-]
Form1.Acciones.Sql.Add('Select Seccion, Grupo, SUM(Entregados) as Entregas
                                 From Datos
                                 Where (Fecha Between :Fecha_Min And :Fecha_Max) And
                                (Grupo=:Grupo)
                                Group By Seccion, Grupo');

form1.acciones.ParamByName('Fecha_Min').asString:=fecha1;
form1.acciones.ParamByName('Fecha_Max').asString:=fecha2;
form1.acciones.ParamByName('Grupo').asstring       :='grupo1';
form1.acciones.Open;

Saludos


La franja horaria es GMT +2. Ahora son las 22:13:06.

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