Ver Mensaje Individual
  #5  
Antiguo 08-01-2005
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Reputación: 24
Oxa78 Va por buen camino
Q pena nunca trabaje con MySQL, seguramente no soporta la instruccion,
lo que se por ejemplo es q esta instrucción no corre en InterBase OpenSource.

Lo que puedes hacer es correr esta instrucción en un ClientDataSet :

Código SQL [-]
    SELECT A.VENDEDOR, MAX(A.VEND_NOMBRE) VEND_NOMBRE,
    B.FECHA, SUM(TOTAL) TOTALR, 0 TOTALF
    FROM VENTASR A
    LEFT JOIN VENTASR B ON (B.VENDEDOR=A.VENDEDOR)  
    GROUP BY A.VENDEDOR, B.FECHA  
    UNION 
    SELECT A.VENDEDOR, MAX(A.VEND_NOMBRE) VEND_NOMBRE,
    B.FECHA, 0 TOTALR, SUM(TOTAL) TOTALF
    FROM VENTASF A
    LEFT JOIN VENTASF B ON (B.VENDEDOR=A.VENDEDOR)
    GROUP BY A.VENDEDOR, B.FECHA

Luego Ejecutas esta instrucción SQL vacia en otro ClientDataSet :

Código SQL [-]
    SELECT ''       '' VENDEDOR, 
    ''                                                  '' VEND_NOMBRE,
    NULL FECHA, 0.00 TOTALR, 0.00 TOTALF
    FROM VENTASR A
    WHERE A.VENDEDOR=''ABCDSR''

El VENDEDOR=''ABCDSR'' No existe la idea es tener un ClientDataSet vacio, pero con la estructura necesaria para llenar los datos.

Finalmente recorres el primer ClientDataSet a traves de código de Delphi, es decir en un While recorres los registros y vas totalizando segun tus condiciones. Esta operación te demandara mas pero massss trabajo, que una simple instrucción. Que pena...

Espero que puedas realizarlo, parece que es el unico camino si es que tu motor SQL no soporta la instrucción.

PD: En la isntruccion anterior habia un error no tenia "FROM", pero ya esta corregido.
__________________
Joseph Buttgembach Verde
Lima - Perú

Última edición por Oxa78 fecha: 08-01-2005 a las 00:23:14.
Responder Con Cita