0

我得到了这个 Sql 查询

declare @ProductNo int

set @ProductNo = 123

select o.OrderNo, OrderDate, ol.Amount
from OrderLine ol
inner join [Order] o on ol.OrderNo = o.OrderNo
where ol.ProductNo = @ProductNo

现在我的问题是,我想为每个订单返回一笔金额。我尝试将我的查询更改为

select o.OrderNo, OrderDate, ol.Amount,(select sum(ol.Amount * ol.UnitPrice) as OrderTotal from OrderLine oll where oll.OrderNo = o.OrderNo)
    from OrderLine ol
    inner join [Order] o on ol.OrderNo = o.OrderNo
    where ol.ProductNo = @ProductNo

但这没有运行,所以我希望有人可以帮助我完成我的查询

4

1 回答 1

1

在您的子选择中,您指的是ol.Amount * ol.UnitPrice,但在子查询OrderLine中调用了您的表,因此应该执行以下操作:oll

select o.OrderNo, OrderDate, ol.Amount,(select sum(oll.Amount * oll.UnitPrice) from OrderLine oll where oll.OrderNo = o.OrderNo) as OrderTotal
....
于 2012-03-29T09:09:05.047 回答