2016-02-25 118 views
0

嗨可以說,我有以下拖表獲取使用SQL查詢

第一表是Orders它由以下幾列

Order_ID OrderDate 
1   2016-01-20 
2   2016-01-21 

和第二表是OrderDetails其中包括以下的訂單總金額列

Order_ID ProductID UnitPrice Quantity 
1   1  5.00  1 
1   3  20.00  3 
2   2  10.00  2 

我怎麼能得到以下出來把

Order_ID OrderDate OrderTotalamount 
1  2016-01-20 65.00 
2  2016-01-21 20.00 

回答

2

你介意嘗試這樣的事情嗎?

SELECT ORD.Order_ID, ORD.OrderDate, SUM(ORDD.UnitPrice * ORDD.Quanity) AS OrderTotalAmount 

FROM Orders ORD 

INNER JOIN OrderDetails ORDD 
ON ORDD.Order_ID = ORD.Order_ID 

GROUP BY ORD.Order_ID, ORD.OrderDate 
2

你可以試試這個

SELECT a.Order_ID, a.OrderDate, SUM(Quantity*UnitPrice) as OrderTotalamout 
    FROM Orders a JOIN OrderDetains ON (a.Order_ID = OrderDetails.Order_ID) 
GROUP BY 1, 2; 

我希望它工作正常你。

+0

太快了!對於我自己的薰陶@fmgonzalez聲明結尾的1,2是什麼?我猜測它表示第一和第二項要選擇的組? –

+0

我更喜歡使用列名,因爲您可能會在將來更改select語句中列的順序。 – sqluser

+0

是的,你猜對了。我習慣了這個。對不起,如果它看起來模糊。 – fmgonzalez

1

可以使用

SELECT TABLE1.Order_ID, TABLE1.OrderDate, SUM(TABLE2.Quantity*TABLE2.UnitPrice) as TotalPrice 
    FROM TABLE1 JOIN TABLE2 WHERE(TABLE1.Order_ID = TABLE2.Order_ID);