SQL子总计和最终总查询

时间:2014-04-28 14:00:33

标签: sql sql-server-2008-r2 sum

我需要扩展当前返回子总计的sql查询。有没有办法通过此查询返回子总计和总计:

SELECT oi.PurchaseID,
SUM(oi.Quanity * CONVERT(decimal(18,2), p.ItemPrice)) AS sub_total
FROM vwPurchaseType oi
JOIN tblColor p ON p.ColorID = oi.ColorID
WHERE oi.UserID = 1
GROUP BY oi.PurchaseID

我可以为总计创建另一个别名吗?我尝试了几种不同的方法,到目前为止,我倾向于将sub_totals插入临时表并在存储过程中返回值。

非常感谢任何建议!

1 个答案:

答案 0 :(得分:2)

您没有指定正在使用的数据库,但许多数据库支持with rollup的{​​{1}}子句:

group by

这会在SELECT oi.PurchaseID, SUM(oi.Quanity * CONVERT(decimal(18,2), p.ItemPrice)) AS sub_total FROM vwPurchaseType oi JOIN tblColor p ON p.ColorID = oi.ColorID WHERE oi.UserID = 1 GROUP BY oi.PurchaseID WITH ROLLUP; PurchaseId的位置添加一行。那里有总数。