我有两张桌子。
项目表
此项目表包含ItemId和总数量
ItemID TotalItems
1 10
2 10
3 10
4 10
OrderHistory
表此订单历史记录表包含ItemId和OrderId
orderId ItemID
11 1
12 1
13 2
14 2
15 3
我想获得包含ItemID的结果和用于例如Item Id 1的总项目,orderhistory中有两个顺序,所以我想要下面的结果
剩余物品(公式:来自ItemTable的总物品数 - 来自Orderhistory表的相同ItemId的数量)
最终输出:
ItemId剩余物品
1 8
2 8
3 9
4 10
所以如何为此编写SQL查询。
答案 0 :(得分: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