我想我可能忽略了一些显而易见的东西。我不是要别人为我写完整的代码,我只需要一个提示或者一个指向类似案例的链接。
我的问题是:
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中值的减法是否与相同的ProductID和Client中的0不同
所需:
5-4<>0 然后
(Y)

我尝试使用的是条件,CASE语句,但是如何确保它将计算相同的Client和ProductID的差异
我正在寻找通用情况下的解决方案,表中有数千种不同的ProductsID和客户端值。我有点困在这个问题上了。
发布于 2022-07-20 13:21:54
因为你只需要小费或提示。没有例子或测试数据,只是作为简短的解释。谷歌的“分析功能”,可以帮助你解决它。因此,您可以总结每个客户,ProductID,然后比较在一个案例。
也许是这样的。
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希望你能走得更远。
https://stackoverflow.com/questions/73052271
复制相似问题