使用ROW_NUMBER()的子查询出错

时间:2013-07-19 16:50:04

标签: sql-server subquery variable-assignment multiple-tables row-number

美好的一天,

在我正在运行的WHILE语句中,我正在尝试的一个变量赋值是将子查询与row_number()结合使用,从列中提取每个特定的ID,并将另一个表中的货币值相加,每个ID。我在MS SQL 2008中工作。

这是我到目前为止的查询:

SET @value =(SELECT PaymentAmount FROM 
(
   SELECT ROW_NUMBER() OVER (ORDER BY C.CategoryID ASC) AS RowNum,
   SUM(O.PaymentAmount)
   FROM Orders O
   INNER JOIN OrderDetails OD ON O.OrderID = OD.OrderID
   INNER JOIN Products_Joined PJ ON OD.ProductCode = PJ.ProductCode
   INNER JOIN Categories_Products_Link CPL ON PJ.ProductID = CPL.ProductID
   INNER JOIN Categories C ON CPL.CategoryID = C.CategoryID
   GROUP BY C.CategoryID
) AS Num
WHERE RowNum = @counter)

我遇到的错误是关于没有为'Num'的第2列指定列。 思考?想法?谢谢你的时间!

0 个答案:

没有答案