当前位置: 首页 > 面试题库 >

从2个不同的表计算(数量*价格)的总和

虞滨海
2023-03-14
问题内容

我有两个表如下

PRODUCT 桌子

Id | Name | Price

和一张ORDERITEM桌子

Id | OrderId | ProductId | Quantity

我想做的是,计算每种产品的小计价格(数量*价格),然后求和整个订单的TOTAL值。

我正在尝试这样的事情

SELECT Id, SUM(Quantity * (select Price from Product where Id = Id)) as qty
FROM OrderItem o
WHERE OrderId = @OrderId

但是当然那是行不通的:)

任何帮助表示赞赏!

编辑: 我只想显示整个订单的总数,因此基本上是OrderItem中每一行的Quantity * Price的总和。这是一些示例数据。

样本数据

桌子产品

Id     Name            Price  
1      Tomatoes        20.09    
4      Cucumbers       27.72    
5      Oranges         21.13    
6      Lemons          20.05
7      Apples          12.05

表OrderItem

Id         OrderId        ProductId        Quantity
151        883            1                22
152        883            4                11
153        883            5                8
154        883            6                62

中号


问题答案:

使用:

  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

请注意,如果oi.quantityp.price为null,则SUM将返回NULL。



 类似资料:
  • 本文向大家介绍javascript实现获取一个日期段内每天不同的价格(计算入住总价格),包括了javascript实现获取一个日期段内每天不同的价格(计算入住总价格)的使用技巧和注意事项,需要的朋友参考一下   代码例子 最近在做酒店的小程序项目开发,遇到一个这样的问题。 酒店的房间价格是浮动的,每天每时或某个特殊的日期价格等都是浮动的不一样。如果用户选择了未来5天的住房的话,而这5天刚好价格还都

  • 有2个圆和他们的中心是固定的,将作为输入给出。然后将会有n个点,它们的x和y坐标被给出作为输入。 最后,还会有q个查询。对于每个查询,将给出两个圆(设为r1和r2)的半径。为每个查询输出第一个圆或第二个圆内的点总数。如果一个点到圆心的距离小于或等于圆的半径,则该点位于圆内。 约束条件:n,q<=10^6r1,r2<=10^7,对于每个坐标,x和y<=10^6 我正在寻找一个O(nlogn)或O(n

  • 我有一个谷歌电子表格,其中有一列如下所示: 我想计算每个不同城市的外观(因此我需要城市名称和外观数量)。 我该怎么做呢?

  • 我在我的反应容器中有加减法函数,每当点击跨度'或'-'时都会传递这些函数,以便计算给定不同价格值的三种'产品'的总'价格'。 我的问题是:当我第一次点击任一按钮时,它首先记录初始值0,然后随着每次点击,从总数中增加或减少,但总是落后一步。 例如,如果我点击“苹果,价格:2”,我的控制台记录为0。然后,我将单击“pears,price:5”,我的控制台将记录2,将上一次单击的值相加,而不是将5添加到

  • 我有一个相同维数的矩阵列表,例如: 我想做的是从列表中的每个矩阵中对随机列进行多次采样,例如,在给定的样本中,要采样的列索引是:

  • 问题内容: 我需要在一个查询中计算两列中某些数据的出现总数。数据库位于SQL Server 2005中。 例如,我有此表: 我需要查询一个结果: 1.名为“约翰”的人数 2.年龄超过30岁的“约翰”的人数。 我可以通过这种方式对子查询进行操作(这只是示例): 但这非常慢,我正在寻找更快的方法。 与使用子查询相比,您是否知道一种更好的方法来计算一个查询中的少量计数? 问题答案: 使用CASE语句,您