我有两张表如下
PRODUCT
表
Id | Name | Price
还有一个 ORDERITEM
表
Id | OrderId | ProductId | Quantity
我要做的是,计算每个产品的小计价格(数量*价格),然后为整个订单计算总计 Value .
我正在尝试这样的事情
SELECT Id, SUM(Quantity * (select Price from Product where Id = Id)) as qty
FROM OrderItem o
WHERE OrderId = @OrderId
但当然这不起作用:)
任何帮助赞赏!
EDIT: 我只想显示整个订单的总计,所以基本上是OrderItem中每一行的Quantity * Price的总和 . 这是一些示例数据 .
Sample Data
TABLE Product
Id Name Price
1 Tomatoes 20.09
4 Cucumbers 27.72
5 Oranges 21.13
6 Lemons 20.05
7 Apples 12.05
Table OrderItem
Id OrderId ProductId Quantity
151 883 1 22
152 883 4 11
153 883 5 8
154 883 6 62
中号
5 回答
使用:
请注意,如果
oi.quantity
或p.price
为空,则SUM将返回NULL .我认为这 - 包括空值= 0
我认为这与你所寻找的一致 . 您似乎想要查看orderid,订单中每个项目的小计以及订单的总金额 .
我遇到了与Marko相同的问题,遇到了这样的解决方案:
只需使用GetGrandTotal存储过程来检索总计:)