2012-07-05 149 views
0

我有兩個表如下。編寫SQL查詢所需的幫助

項目表

該項目表中包含項目Id和總量

ItemID TotalItems  

1  10 

2  10 

3  10 

4  10 

OrderHistory

表此訂單歷史記錄表包含項目Id和的OrderId

orderId ItemID 

11   1 

12   1 

13   2 

14   2 

15   3 

我想得到結果,其中包含ItemID和總項目用於例如項目Id 1,有兩個訂單的順序歷史,所以我想要的結果如下

剩餘項目(公式:TotalTable項目表 - 相同的計數項目Id從Orderhistory表)

最終輸出:

項目Id其餘項目

1 8 

2 8 

3 9 

4 10 

所以如何爲此編寫SQL查詢。

+1

[你嘗試過這麼遠嗎?(http://whathaveyoutried.com) – 2012-07-05 17:59:06

回答

3

像這樣的東西?

SELECT i.ItemID, i.TotalItems - COUNT(h.ItemID) AS RemainingItems 
FROM ItemTable i 
    LEFT JOIN OrderHistory h 
     ON i.ItemId = h.ItemId 
GROUP BY i.ItemId, i.TotalItems 
+0

謝謝回答,其作品 – Urja 2012-07-05 18:07:18

+2

當我在SQL擺弄擺弄你已經回答了這個問題:)所以對於爲了不浪費我的時間,我將在這裏添加sql小提琴鏈接http://sqlfiddle.com/#!3/22e95/1 – 2012-07-05 18:17:42

+0

謝謝@ x64igor也爲您提供幫助。 – Urja 2012-07-05 18:19:28