我有一个非常标准的查询,它会为我提供库存高于0的产品列表。
这很好用,但我现在需要为给定的SKU添加BranchID 31的所有负数的SUM。
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))
SO BranchID 31可以有正数和负数,但是我只需要得到SKU的负数之和,然后需要将其添加到检查中以查看它是否超过0。
不知道从哪里开始,希望得到SQL大师的支持!
提前致谢!
戴夫
答案 0 :(得分: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))
答案 1 :(得分:0)
取负数(股票)的绝对值之和,看它们是否为非零。