2013-01-08 53 views
1

我有以下查詢MySQL查詢和

SELECT crm_presupuestos.fecha_alta, 
     crm_presupuestos.id_vendedor, 
Sum( 
`precio` * (100 - `crm_presupuestosdetalles`.`bonif`)/100 * `crm_presupuestosdetalles`.`cantidad`) AS LineaNeto 
FROM crm_presupuestos 
     RIGHT JOIN crm_presupuestosdetalles 
       ON crm_presupuestos.id_presupuesto = 
        crm_presupuestosdetalles.id_presupuesto 
GROUP BY crm_presupuestos.fecha_alta, 
      crm_presupuestos.id_vendedor 
HAVING ((Date((crm_presupuestos.fecha_alta)) = Curdate())); 

這工作不錯,但我需要它來概括所有各ID_Vendedorlinea neto。另外,我需要一個總結。有人能告訴我該怎麼做嗎?

回答

1

試試這個:

SELECT IFNULL(Fecha_Alta, 'Total') Fecha_Alta, ID_Vendedor, SUM(LineaNeto) LineaNeto 
FROM (SELECT cp.Fecha_Alta, cp.ID_Vendedor, SUM(Precio * (100-cpd.Bonif)/100*cpd.Cantidad) AS LineaNeto 
     FROM CRM_PRESUPUESTOS cp 
     RIGHT JOIN CRM_PresupuestosDetalles cpd ON cp.ID_Presupuesto = cpd.ID_Presupuesto 
     GROUP BY cp.Fecha_Alta, cp.ID_Vendedor 
     HAVING DATE(cp.Fecha_Alta)=CURDATE()) A 
GROUP BY ID_Vendedor WITH ROLLUP;