Ver Mensaje Individual
  #5  
Antiguo 12-04-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
Parece que no se me entiende... lo expongo de otra manera.

Se puede hacer una consulta con las respuesta de otra consulta???

Lo que yo hago ahora es lo siguiente. Realizo una consulta la que me entrega un listado de registros, que los guardo en un listbox con el siguiente codigo

Código Delphi [-]
ibquery1.sql.add('select distinct area from estructura')
 
listbox1.clear;
while not ibquery1.eof do
begin
listbox1.items.add(ibquery1.fieldbyname('area').asstrinG);
ibquery1.next;
end;

La cantidad de registros del listbox puede ser de hasta unos 20 registros.
luego realizo otra consulta en donde hago la suma...

Código Delphi [-]
for I:=0 to listbox1.Items.Count-1 do
begin
 IBQUERY2.Close;
 IBQUERY2.SQL.CLEAR;
 IBQUERY2.SQL.ADD('SELECT MONTO FROM PRESUPUESTO');
 IBQUERY2.SQL.ADD('WHERE EMPRESA ='+QUOTEDSTR('MAT'));
 ibquery2.SQL.add('AND area ='+quotedstr(listbox1.Items[i]));

IBQUERY2.Open;

if ibquery2.IsEmpty = FALSE then
while not ibquery2.eof do
BEGIN
   MONTO:=MONTO+IBQUERY2.FieldByName('MONTO').ASFLOAT;
   IBQUERY2.NEXT;
end;
END;

Esto funciona bien, pero LEEEENTO... porque debe hacer muchas consultas.

Es posible realizar esto mismo en una sola consulta??

Espero que me puedan ayudar.... muchas gracias

Saludos
Responder Con Cita