我正在做一个项目,我坚持使用这个存储过程,我正在使用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
我得到了这个:
Ferreteria2 12
Ferreteria2 10
Ferreteria5 8
Ferreteria5 6
Ferreteria2 5
Ferreteria5 4
Ferreteria1 3
Ferreteria4 2
Ferreteria1 1
我怎样才能得到这个呢?
Ferreteria2 27
Ferreteria5 18
Ferreteria1 4
Ferreteria4 2
答案 0 :(得分:3)
我以为你在P.PRECIO * CA.CANTIDAD
做总结。所以我修改如下。
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