MS SQLServer如何将两列相乘,然后将它们全部加在一起..?

时间:2016-02-22 19:04:16

标签: mysql sql

我是新来的。第一篇文章。我真的很感激一些帮助。

我正在尝试计算所有销售产品的总销售额。 我有一个数量列和价格列。 我理解如何将这两列相乘,但我不知道如何在同一查询中将它们全部添加在一起。

这是一个例子: 数量:2,3,1个价格:2,4,5 我可以做数量*价格得到:4,12,5 但那我怎么能加4 + 12 + 5来获得总数呢?我需要将此步骤包含在同一查询中。

编辑:数量和价格列都在同一个表中。 销售(数量,价格)

我正在使用Microsoft SQL-Server。

1 个答案:

答案 0 :(得分:1)

如果您有一个表格的示例:

SELECT dbo.orderid,
             SUM(dbo.quantity * dbo.price) AS grand_total,
        FROM ORDERITEM 

如果您有两个表而不是一个,那么:

 SELECT oi.orderid,
         SUM(oi.quantity * p.price) AS grand_total,
    FROM ORDERITEM oi
    JOIN PRODUCT p ON p.id = oi.productid
   WHERE oi.orderid = @OrderId
GROUP BY oi.orderid

将所有行(orderid数字)加在一起得到总数,你只需要组合,然后选择总和值。示例如下:

SELECT     Orderid, SUM(quanity) AS Expr1, SUM(price) AS Expr2, SUM(quanity * price) AS Total
FROM         dbo.mytable
GROUP BY pid
HAVING      (pid = 2)

或者在SQL视图中显示总数量和价格:

SELECT     Orderid, SUM(quanity) AS Quanity, SUM(price) AS Price, SUM(quanity * price) AS Total
FROM         dbo.mytable
GROUP BY pid