Reputation: 37
I am doing a project and I am stuck with this stored procedure, I am using SQL Server 2014:
ALTER PROC FOF_FerreteriaMasGanancia
AS
BEGIN
SELECT
F.Nombre, (P.Precio * CA.Cantidad) as 'Gananacia'
FROM
FO_Carrito CA
JOIN
FO_Solicitud S ON S.ID = CA.FK_SolicitudC
JOIN
FO_Recibo R ON R.FK_Solicitud = S.ID
JOIN
FO_Productos P ON P.ID = CA.FK_ProductosC
JOIN
FO_Cliente C ON C.ID = S.FK_Cliente
JOIN
FO_Estante E ON E.FK_Producto = P.ID
JOIN
FO_PasilloXDepartamento PD ON PD.FK_Estante = E.NumeroEstante
JOIN
dbo.FO_Departamento D ON D.ID = PD.FK_Departamento
JOIN
dbo.FO_Ferreteria F ON D.FK_Ferreteria = F.ID
GROUP BY
F.Nombre, (P.Precio * CA.Cantidad)
ORDER BY
(P.Precio * CA.Cantidad) DESC
END
I am getting this:
Ferreteria2 12
Ferreteria2 10
Ferreteria5 8
Ferreteria5 6
Ferreteria2 5
Ferreteria5 4
Ferreteria1 3
Ferreteria4 2
Ferreteria1 1
How can I get this instead?
Ferreteria2 27
Ferreteria5 18
Ferreteria1 4
Ferreteria4 2
Upvotes: 0
Views: 66
Reputation: 2813
I have assumed you are doing sum on P.PRECIO * CA.CANTIDAD
. So i have modified like below.
ALTER PROC Fof_ferreteriamasganancia
AS
BEGIN
SELECT F.NOMBRE,
Sum(P.PRECIO * CA.CANTIDAD) AS 'GANANACIA'
FROM FO_CARRITO CA
JOIN FO_SOLICITUD S
ON S.ID = CA.FK_SOLICITUDC
JOIN FO_RECIBO R
ON R.FK_SOLICITUD = S.ID
JOIN FO_PRODUCTOS P
ON P.ID = CA.FK_PRODUCTOSC
JOIN FO_CLIENTE C
ON C.ID = S.FK_CLIENTE
JOIN FO_ESTANTE E
ON E.FK_PRODUCTO = P.ID
JOIN FO_PASILLOXDEPARTAMENTO PD
ON PD.FK_ESTANTE = E.NUMEROESTANTE
JOIN DBO.FO_DEPARTAMENTO D
ON D.ID = PD.FK_DEPARTAMENTO
JOIN DBO.FO_FERRETERIA F
ON D.FK_FERRETERIA = F.ID
GROUP BY F.NOMBRE
ORDER BY 2 DESC
END
Upvotes: 3