Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   MAX(SUM(campo)) ??? y agrupar por un extract(month from fecha) (https://www.clubdelphi.com/foros/showthread.php?t=45512)

NSL94 05-07-2007 15:29:21

MAX(SUM(campo)) ??? y agrupar por un extract(month from fecha)
 
buenos dias partiendo de esta consulta:

SELECT
PED.VENDEDOR, PER.NOMBRE, PEC.PRODUCTO, PRO.NOMBRE,
SUM(PEC.CANTIDAD) AS C_ENERO
FROM
":DBFACTU2:PED_EMI.DB" AS PED,
":DBFACTU2:PED_CONC.DB" AS PEC,
":DBFICHEROS:PERSONAS.DB" AS PER,
":DBFICHEROS:PRODUCTO.DB" AS PRO
WHERE
PRO.CODIGO = PEC.PRODUCTO AND
(PRO.PRESENTE = 'S' OR PRO.PRESENTE ='s') AND
(PEC.PRESENTE = 'S' OR PEC.PRESENTE ='s') AND
PED.N_PED = PEC.N_PED AND
PER.ID_PER=PED.VENDEDOR AND
EXTRACT (MONTH FROM PED.FECHA) = 1
GROUP BY
PED.VENDEDOR, PER.NOMBRE, PEC.PRODUCTO

que basicamente de momento me suma la cantidad de producto por producto y comercial de pedidos del mes de enero.
quisiera:

1-sacar solamente la cantidad maxima de las sumas por cada comercial.
es decir si cada comercial tiene 10 productos que unicamente me saque el producto y la cantidad sumada de este producto.
2-saber si hay alguna manera de poder agrupar por extract(month from fecha) para poder asi agrupar por fecha.

cuando tengo que agrupar por fracciones de fecha(año, mes) lo que suelo hacer es un listado como en este caso sin el sum con el extract(month from fecha) as mes de campo+idem as año, para poder luego en el report agrupar por mes y asi sumar las cantidades dentro de este grupo. Lo que me permite hacer estructuras de sumas de campo por año-comerciales-mes.
Pero en este caso al tener que sacar el max de las sum no tengo ni idea de como hacerlo, ya que no se me ocure como hacer ambas cosas con la sql ni con el report.
A malas para sacar los resultados de cada mes (es decir sin agrupar por extract) puedo hacer 12 consultas de estas para cada mes y usar unions... pero 1 no me soluciona el problema del max de sum y 2... un dia me dijeron que un buen informatico debia ser vago escribiendo y agil d emente xDD

Si a alguien se le ocurre por dnd podria probar de tirar le agradeceria mucho su ayuda:D
gracias a todos.
Paz!


La franja horaria es GMT +2. Ahora son las 00:36:45.

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