Acumular por fecha

Hola Experto:
Dando lata a los que saben, veras, Tengo la siguiente tabla detalle.
Pedido fecha importe
121 14-11-03 5,000.00
120 14-11-03 35,532.00
114 14-11-03 15,722.00
109 17-11-03 17,500.00
131 18-11-03 20,400.00
123 18-11-03 28,670.00
126 18-11-03 8,206.00
124 19-11-03 3,277.00
125 19-11-03 8,990.00
134 19-11-03 7,000.00
La idea es que me acumule por fecha y sume el importe pero, y que en el campo pedidos me ponga todos los pedidos de una sola fecha como sigue:
Tabla resultado
Pedidos fecha acumulado
121,120,114 14-11-03 562540
109 17-11-03 17,500.00
123,126,131 18-11-03 57,276.00
124,125,134 19-11-03 19,267.00
De antemano muchas gracias por la asesoría que me puedas brindar
Saludos
Bueno eso dices tu...

1 Respuesta

Respuesta
1
Intenta creando un PRG con el siguiente código:
** "Acumulado" es la tabla donde se van a
** colocar el resultado, tiene un índice
** por fecha
CLOSE DATABASES ALL
USE Acumulado INDEX Fecha IN 0
USE Detalle IN 0
SELECT Acumulado
ZAP &&Para asegurarnos qu esté vacía
SELECT Detalle
GO TOP
DO WHILE !EOF()
SELECT Acumulado
SEEK Detalle.fecha
IF EOF()
APPEND BLANK
REPLACE Acumulado.fecha WITH Detalle.fecha
ENDIF
REPLACE Acumulado.pedidos WITH Acumulado.pedidos + Detalle.pedido + ", " ;
Acumulado.acumulado WITH Acumulado.acumulado + Detalle.importe
SELECT Detalle
SKIP
ENDDO
... bueno, eso digo yo.
Víctor.
Al revisar el código encontré un error, el código corregido es:
** "Acumulado" es la tabla donde se van a
** colocar el resultado, tiene un índice
** por fecha
CLOSE DATABASES ALL
USE Acumulado INDEX Fecha IN 0
USE Detalle IN 0
SELECT Acumulado
ZAP &&Para asegurarnos qu esté vacía
SELECT Detalle
GO TOP
DO WHILE !EOF()
SELECT Acumulado
SEEK Detalle.fecha
IF EOF()
APPEND BLANK
REPLACE Acumulado.fecha WITH Detalle.fecha
ENDIF
REPLACE Acumulado.pedidos WITH ALLTRIM( Acumulado.pedidos ) + Detalle.pedido + "," ;
Acumulado.acumulado WITH Acumulado.acumulado + Detalle.importe
SELECT Detalle
SKIP
ENDDO

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas