【发布时间】:2017-09-15 02:12:00
【问题描述】:
我对 SQL 非常陌生,并且正在努力完成一些作业以提高我的知识。不过,我发现自己遇到了一个问题。
我必须通过使用乘法和减法来找到项目的总利润,我已经使用以下命令完成了:
select
production.product.ProductID,
StandardCost,
sales.SalesOrderDetail.OrderQty,
UnitPrice,
(sales.SalesOrderDetail.UnitPrice*sales.SalesOrderDetail.OrderQty)-
(production.product.StandardCost*sales.salesorderdetail.OrderQty) as
'Total Profit'
from
sales.SalesOrderDetail,
production.product
我需要做的是汇总总利润并按 ProductID 分组,以便找到最赚钱和最不赚钱的项目。我认为这会起作用:
select
production.product.ProductID,
StandardCost,
sales.SalesOrderDetail.OrderQty,
UnitPrice,
sum((sales.SalesOrderDetail.UnitPrice*sales.SalesOrderDetail.OrderQty)-
(production.product.StandardCost*sales.salesorderdetail.OrderQty)) as
'Total Profit'
from
sales.SalesOrderDetail,
production.product
group by
Production.Product.ProductID
但是,我收到以下错误:
选择列表中的列“production.product.StandardCost”无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
我不知道从哪里继续。我尝试重新排列并进行内/左连接,但没有成功。
【问题讨论】:
标签: sql-server