首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从每个用户的库存中计算总增减量

从每个用户的库存中计算总增减量
EN

Stack Overflow用户
提问于 2014-01-23 14:36:31
回答 1查看 105关注 0票数 1

我有一个设备,审计所有库存交易到一个t数据库.我需要一个select语句,它将生成一个用户在库存上执行的加减量(我们不关心涉及哪些部分,只是总的事务处理)。这张桌子看起来是:

代码语言:javascript
复制
userName   partNum  LastOHQ   NewOHQ
_____________________________________
joeShmoe    667-5     52        60
lazyP       664-2     88        44
joeShmoe    89-66     78        22
jesseJames  100-1     19        99

现在,考虑到基本数学的使用,我能够确定一个事务是被添加到库存中,还是使用NewOHQ - LastOHQ =?删除,如果这个数字是正的,我知道它是被添加的,如果是负的,它就被删除了。

如何创建结果集,如:

代码语言:javascript
复制
userName    added   subtracted
______________________________
joeShmoe       8        56
lazyP         0        44
jesseJames    80       0

~SQL新手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 15:02:12

您需要使用一些CASE表达式来创建计算的列。

代码语言:javascript
复制
SELECT userName,
    SUM(CASE WHEN NewOHQ - LastOHQ > 0 THEN NewOHQ - LastOHQ
         ELSE 0 END) added,
    SUM(CASE WHEN NewOHQ - LastOHQ < 0 THEN LastOHQ - NewOHQ
         ELSE 0 END) subtracted
FROM InventoryTransactions
GROUP BY userName

下面是一个木琴,它显示了您的示例。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21311168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档