Sql 如何同时选择两个选择和
我试着用这个公式 像这样Sql 如何同时选择两个选择和,sql,Sql,我试着用这个公式 像这样 sum((freight/sum(Quantity))*Quantity) for lineitemfright 我试过的代码没有求和我想要的一个值 select sum( ( Northwind.dbo.orders.Freight / ( select SUM( Northwind.dbo.[Order Details].Quantity
sum((freight/sum(Quantity))*Quantity) for lineitemfright
我试过的代码没有求和我想要的一个值
select sum(
(
Northwind.dbo.orders.Freight
/
(
select SUM(
Northwind.dbo.[Order Details].Quantity
)
from Northwind.dbo.[Order Details]
where Northwind.dbo.[Order Details].OrderID = Northwind.dbo.orders.OrderID
)
*
Northwind.dbo.[Order Details].Quantity
)
) as LineItemFreight
from Northwind.dbo.[Order Details]
inner join Northwind.dbo.Orders
on Northwind.dbo.[Order Details].OrderID= northwind.dbo.Orders.OrderID
where Northwind.dbo.orders.ShippedDate is not null
然而,它不断得到一个错误的说法
Msg 130, Level 15, State 1, Line 5
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
sum((freight/sum(Quantity))*Quantity)
我试图在不使用分组依据的情况下求和一个值。使用变量并执行此操作
@DECLARE @tEMPSUM bigint
SET @TEMPSUM=select SUM(Northwind.dbo.[Order Details].Quantity)from Northwind.dbo.[Order Details]
where Northwind.dbo.[Order Details].OrderID = Northwind.dbo.orders.OrderID
然后
你用的是哪一个数据库?我用的是一个叫Northwind的数据库。当我计算出一个总数时,我得到了多个数字,我只想得到一个数字。选择Northwind.dbo.orders.Freight/选择SUMNorthwind.dbo。[订单详细信息]。来自Northwind.dbo的数量。[订单详细信息]其中Northwind.dbo。[订单详细信息]。OrderID=Northwind.dbo.orders.OrderID*Northwind.dbo。[订单详细信息]数量为来自Northwind.dbo的LineItemFreightNorthwind.dbo上的内部联接Northwind.dbo.Orders。[订单详细信息].OrderID=Northwind.dbo.Orders.OrderID,其中Northwind.dbo.Orders.ShippedDate不是空的。我指的是哪个数据库供应商mysql、sqlserver、oracle、postgres等。解决方案可能取决于这一事实。
select sum((Northwind.dbo.orders.Freight / @tEMPSUM)*Northwind.dbo.[Order Details].Quantity) as LineItemFreight
from Northwind.dbo.[Order Details]
inner join Northwind.dbo.Orders
on Northwind.dbo.[Order Details].OrderID= northwind.dbo.Orders.OrderID
where Northwind.dbo.orders.ShippedDate is not null