0

我有一个非常标准的查询,它将为我提供库存高于 0 的产品列表。

这工作正常,但是我现在需要添加给定 SKU 的 BranchID 31 的所有负数的总和。

SELECT * FROM Products WHERE
PrimaryPLU IN 
(select SKU FROM Stock 
WHERE BranchID IN (2,12,1,11,0,96,32,13,14,15) 
AND ApplicationID = @site 
GROUP BY SKU HAVING(SUM(Stock)) > 0))

所以 BranchID 31 可以有正数和负数,但是我只需要获取 SKU 的负数的总和,然后需要将其添加到检查中以查看它是否超过 0。

不知道从哪里开始,希望得到 SQL 大师的支持!

提前致谢!

戴夫

4

2 回答 2

1

试试这个:

SELECT * FROM Products WHERE
PrimaryPLU IN 
(select SKU FROM Stock 
WHERE BranchID IN (2,12,1,11,0,96,31,32,13,14,15) 
AND ApplicationID = @site 
GROUP BY SKU HAVING(SUM(CASE WHEN Stock < 0 AND BranchID = 31 
              THEN Stock ELSE 0 END)) > 0))
于 2012-11-15T14:15:42.660 回答
0

取负数(股票)的绝对值之和,看它们是否非零。

于 2012-11-15T14:15:49.357 回答