首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据条件和其他列的值差异添加新列

根据条件和其他列的值差异添加新列
EN

Stack Overflow用户
提问于 2022-07-20 13:11:06
回答 1查看 88关注 0票数 1

我想我可能忽略了一些显而易见的东西。我不是要别人为我写完整的代码,我只需要一个提示或者一个指向类似案例的链接。

我的问题是:

代码语言:javascript
复制
select Client , ProductID, M_POS_TYPE AS Keep_or_Keep_in_Transit, Amount
FROM inventory_table inv_table
JOIN inventory_position inv_pos
ON inv_pos.ProductID=inv_table.ProductID
group by Client, ProductID, M_POS_TYPE, Amount

输出:

如何添加一个新列,以检查列:Amount中值的减法是否与相同的ProductIDClient中的0不同

所需:

代码语言:javascript
复制
5-4<>0  

然后

(Y)

我尝试使用的是条件,CASE语句,但是如何确保它将计算相同的ClientProductID的差异

我正在寻找通用情况下的解决方案,表中有数千种不同的ProductsID和客户端值。我有点困在这个问题上了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 13:21:54

因为你只需要小费或提示。没有例子或测试数据,只是作为简短的解释。谷歌的“分析功能”,可以帮助你解决它。因此,您可以总结每个客户,ProductID,然后比较在一个案例。

也许是这样的。

代码语言:javascript
复制
select Client , ProductID, M_POS_TYPE AS Keep_or_Keep_in_Transit, Amount,
sum(case when M_POS_TYPE = 'Keep_Transit' then AMOUNT*-1 else AMOUNT end) over (partition by Client, ProductID) as DIFF
FROM inventory_table inv_table
JOIN inventory_position inv_pos
ON inv_pos.ProductID=inv_table.ProductID

希望你能走得更远。

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

https://stackoverflow.com/questions/73052271

复制
相关文章

相似问题

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