Sql server 如何将两列相乘并将其结果存储在单个列中,然后生成新列的和?

Sql server 如何将两列相乘并将其结果存储在单个列中,然后生成新列的和?,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,我有两栏价格和数量。我使它们成倍增加 select Price*Quantity as SubTotal from ProductInfo 现在我想把小计中所有行的总和作为grandtotal SUM(SubTotal) as GrandTotal 及 因此,需要一个新的查询 select Price*Quantity as SubTotal , SUM(SubTotal) as GrandTotal from ProductInfo 我该怎么做请帮助试试这个: Select Pric

我有两栏价格和数量。我使它们成倍增加

select Price*Quantity as SubTotal from ProductInfo 
现在我想把小计中所有行的总和作为grandtotal

SUM(SubTotal) as GrandTotal
及 因此,需要一个新的查询

select Price*Quantity as SubTotal , SUM(SubTotal) as GrandTotal from ProductInfo 
我该怎么做请帮助

试试这个:

Select Price*Quantity as SubTotal, 
SUM(Price*Quantity) as GrandTotal 
from ProductInfo 

这将按预期结果进行。

它是否将小计MSG 8120,级别16,状态1,第1行的所有行相加?列“ProductInfo.Price”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
Select ISNULL(Price*Quantity, 'GrandTotal') as SubTotal, 
SUM(Price*Quantity) as Total 
from ProductInfo
GROUP BY   ISNULL(Price*Quantity, 'GrandTotal')
WITH ROLLUP