![](/img/trans.png)
[英]MS Access SQL Query - Joining 3 Tables to receive Total Order Price
[英]SQL Server query to find the total price of all the products by order
我有一個具有(id,orderCode,productId,quantity,color,size)
的表Orders,其中我可以輸入以下內容:
1,O20100812,163,2,BLUE,Medium
1,O20100812,163,3,BLUE,Larger
1,O20100812,145,4,RED,Large etc
1,O20100815,134,5,RED,Large etc
1,O20100815,143,2,BLACK,Large etc
1,O20100815,112,8,BLACK,Large etc
另一個具有(id,name,price)
表Products
我想要的是使用orderCode 020100812查找訂單中所有產品的總價。我是否應該先選擇訂單代碼,然后在加入產品表時求和求和?
為什么需要與眾不同?
Select SUM(o.Quantity * Price) TotalPrice
FROM Orders o JOIN Products p ON (o.ProductId = p.Id)
WHERE OrderCode = '020100812'
對於所有訂單,您可以使用以下查詢:
Select OrderCode, SUM(o.Quantity * Price) TotalPrice
FROM Orders o JOIN Products p ON (o.ProductId = p.Id)
Group by OrderCode
不, GROUP BY
,然后您可以使用SUM
匯總整個組,例如
select O.id, O.ordercode, sum(P.price * O.quantity) as total
from orders O
join products P on P.id = O.productid
group by O.id, O.ordercode
這將為您顯示每個訂單中每個訂單代碼的總價格-如果您需要跨所有訂單的所有訂單代碼
select O.ordercode, sum(P.price * O.quantity) as total
from orders O
join products P on P.id = O.productid
group by O.ordercode
即不要分組訂單ID。
(我猜測O20100812只是一個示例,您實際上是否希望所有訂購代碼都使用它?)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.