Hola amigos.!!
Tengo el siguiente Procedure
El problema que tengo es no tengo un patron de rango de
fecha que relacione las tablas, y no me agrupa por meses.
Como puedo poner un patron o un campo que me ponga el mes
del rango de las tablas que tengo relacionadas con LEFT
JOIN.
Alter Procedure RepFann_Mensual
@Fecha1 datetime,
@Fecha2 datetime,
@PC varchar(15)
As
SELECT Fleteros.Id_Fletero,Fleteros.Nombre as
Fletero,C.Id_Chofer, C.Nombre Chofer,
isnull(sum(Com.Combustibles),0)Combustibles,isnull(Sum
(E.Total-((E.Importe*E.Porc)/100)),0) as Facturas,isnull
(sum(Ent.Gastos),0)Gastos
FROM Choferes C
LEFT JOIN
(SELECT Embanques.Id_Chofer,Sum(Cantidad)Combustibles from
Embanques WHERE Fecha BETWEEN @Fecha1 AND @Fecha2 GROUP BY
Embanques.Id_Chofer)E
ON C.Id_Chofer=E.Id_Chofer
LEFT JOIN(Select Id_Chofer,Sum(Cantidad)Combustibles FROM
Entregas2 WHERE Fecha BETWEEN @Fecha1 AND @Fecha2
GROUP BY Id_Chofer)Com
ON C.Id_Chofer=Com.Id_Chofer
LEFT JOIN(Select Id_Chofer,Sum(Cantidad)Gastos FROM
Entregas WHERE Fecha BETWEEN @Fecha1 AND @Fecha2
GROUP BY Id_Chofer)Ent
ON C.Id_Chofer=Ent.Id_Chofer
INNER JOIN Fleteros
ON C.Id_Fletero=Fleteros.Id_Fletero
INNER JOIN Choferes_Rel
ON C.Id_Chofer=Choferes_Rel.Id_Chofer
WHERE C.Id_Chofer=Choferes_Rel.Id_Chofer AND
Choferes_Rel.NombrePc=@Pc
GROUP BY
Fleteros.Id_Fletero,Fleteros.Nombre,c.Id_Chofer,C.Nombre
Saludos
Leer las respuestas