我有两个查询。第一个只是列出各个行,如果CANCELCODE为1,则使另一个字段为负,如下所示:
CASE t.CancelCode
WHEN '1'
THEN t.Quantity * -1
ELSE t.Quantity
END AS Quantity,...
第二个查询求和总计,但是如何检查上述条件呢?
SUM(t.Quantity) AS Quantity, --case t.cancelcode is 1 then negative the value
是否有办法做到这一点?还是应该将第一组结果放在临时表中,然后使用该表,因为此时该值是负值还是正值?
答案 0 :(得分:3)
您可以将case语句包装在SUM函数中:-
index.js
答案 1 :(得分:1)
这是您想要的吗?
import MyLib from './MyLib'
// later on
MyLib.processArray()
MyLib.processString()
答案 2 :(得分:1)
使用套用,如果您需要多次使用这种情况,这会更有效率
select sum(a.Quantity)
from yourtable t
cross apply (
select CASE t.CancelCode
WHEN '1'
THEN t.Quantity * -1
ELSE t.Quantity
END AS Quantity
) a