Calc Сумма заказа, где Orderline содержит продукт - PullRequest
0 голосов
/ 29 марта 2012

Я получил этот запрос 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

Но это не работает, поэтому я надеюсь, что кто-нибудь может помочь мне завершить мой запрос

1 Ответ

1 голос
/ 29 марта 2012

В вашем подвыборе вы имеете в виду 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
....
...