簡體   English   中英

SQL Server查詢以按訂單查找所有產品的總價

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM