从 SQL 中的结果集中减少数量
Decrement quantity from result set in SQL
感觉是个很简单的问题,但我找不到正确的解决方案,所以可能我问错了问题。
我有一个简单的结果集。列出相同的部分 N 次。每条记录需要 N 个部分。也有总手头数量N.
Id | Part | QtyRequired | OnHandQty
1 | 123 | 10 | 100
2 | 123 | 5 | 100
3 | 123 | 22 | 100
等..
我怎么能 return 这样的结果集的 "Remaining" 数量..
Id | Part | QtyRequired | OnHandQty | RemainingQty
1 | 123 | 10 | 100 | 90
2 | 123 | 5 | 100 | 85
3 | 123 | 22 | 100 | 63
您只是在寻找 select 声明吗?
select id, Part, QtyRequired,OnHandQty, (onhandqty-QtyRequired) as 'RemainingQty' from tablename
您可以计算每个零件条目所需的数量:
工作示例:
DECLARE @Inventory TABLE
(
Id int,
Part int,
QtyRequired INT,
OnHandQty INT
)
INSERT INTO @Inventory (Id, Part, QtyRequired, OnHandQty)
VALUES (1, 123, 10, 100),
(2, 123, 5, 100),
(3, 123, 22, 100)
SELECT
Id
,Part
,QtyRequired
,OnHandQty
,OnHandQty - SUM (QtyRequired) OVER (PARTITION BY Part ORDER BY Id) AS RemainingQty
FROM @Inventory
如果您需要知道使用的数量,您可以包括以下内容:
SUM (QtyRequired) OVER (PARTITION BY Part ORDER BY Id) AS QuantityUsed
感觉是个很简单的问题,但我找不到正确的解决方案,所以可能我问错了问题。
我有一个简单的结果集。列出相同的部分 N 次。每条记录需要 N 个部分。也有总手头数量N.
Id | Part | QtyRequired | OnHandQty
1 | 123 | 10 | 100
2 | 123 | 5 | 100
3 | 123 | 22 | 100
等..
我怎么能 return 这样的结果集的 "Remaining" 数量..
Id | Part | QtyRequired | OnHandQty | RemainingQty
1 | 123 | 10 | 100 | 90
2 | 123 | 5 | 100 | 85
3 | 123 | 22 | 100 | 63
您只是在寻找 select 声明吗?
select id, Part, QtyRequired,OnHandQty, (onhandqty-QtyRequired) as 'RemainingQty' from tablename
您可以计算每个零件条目所需的数量:
工作示例:
DECLARE @Inventory TABLE
(
Id int,
Part int,
QtyRequired INT,
OnHandQty INT
)
INSERT INTO @Inventory (Id, Part, QtyRequired, OnHandQty)
VALUES (1, 123, 10, 100),
(2, 123, 5, 100),
(3, 123, 22, 100)
SELECT
Id
,Part
,QtyRequired
,OnHandQty
,OnHandQty - SUM (QtyRequired) OVER (PARTITION BY Part ORDER BY Id) AS RemainingQty
FROM @Inventory
如果您需要知道使用的数量,您可以包括以下内容:
SUM (QtyRequired) OVER (PARTITION BY Part ORDER BY Id) AS QuantityUsed