【发布时间】:2014-10-02 16:28:25
【问题描述】:
我有一张这样的桌子:
Order Number ItemCode Quantity_Ordered AvailableInShop
-----------------------------------------------------------
1 10 3 3
2 10 2 3
但我需要一个查询来获得这个输出:
Order Number ItemCode Quantity_Ordered AvailableInShop
-----------------------------------------------------------
1 10 3 3
2 10 2 0
这是因为第一个销售订单已经占用了后续订单的所有数量。
这是我尝试过的
select
[order number],
itemcode,
quantity_ordered,
availableInshop,
Row_Number() over (partition itemcode order by [order number] asc) Rownumber
from Orders
【问题讨论】:
-
您的问题是什么?我们需要更多细节。
-
欢迎来到 StackOverflow。这不是代码生成器服务。请与我们分享您尝试了什么,有什么问题,以及我们如何提供帮助。请付出一些努力来激发可能的帮助者(如果您不想这样做,请为编程付费)。请阅读
How do I ask a good question?文章了解更多信息。 -
我在这里诚实的建议是不要将库存数据和订单数据存储在同一个表中。将项目和库存数据放在一个表中,将订单数据放在另一个表中。然后,每当下新订单时,更改库存表以反映新库存。这也让您无需注册“否定”订单即可增加可用数量。
标签: sql sql-server-2008 tsql