gpt4 book ai didi

math - 一张表的条件值减法

转载 作者:行者123 更新时间:2023-12-02 04:57:38 25 4
gpt4 key购买 nike

这是我第一次在这里提问,如果我可以提供更多数据来帮助您,请告诉我 :)


目前,我有一个类似于下表的表:
ID ITEM ADJUST_QTY ADJUST_TYPE INV_SOURCE&n bsp; INV_DEST WAREHOUSE VENDORASN
1 A12 100 A NULL ALLOC 1001 NULL
2 A12 50 S NULL ALLOC 1001 NULL
3 A12 100 S NULL 未分配 1001 12345
4 A12 50 A NULL 未分配 1001 12345
5 B12 100 A 分配 取消分配 1002 空
6 B12 100 A 未分配 分配 1002 空

我的查询输出应该是:
ITEM ADJUST_QTY INV_SOURCE INV_DEST WAREHOUSE VENDORASN
A12 50 NULL ALLOC 1001 NULL (这是 ID 1 - ID 2)
A12 -50 NULL 未分配 1001 12345 (这是 ID 4 - ID 3)
B12 100 分配 未分配 1002 NULL (这是 ID 5)
B12 100 取消分配 分配 1002 NULL (这是 ID 6)

ADJUST_TYPE A = 加,S = 减。我试图找到 SUM(A) - SUM(S),其中 ITEM、INV_SOURCE、INV_DEST、WAREHOUSE 和 VENDORASN 相同。目前,我正在使用 left join 和 group by 来尝试实现这一目标,但我没有得到任何结果。我知道有满足我需要的记录,但此时我的查询不正确。

我现在有以下问题:

SELECT 
I1.ITEM,
SUM(I1.ADJUST_QTY)-SUM(I2.ADJUST_QTY) AS QUANTITY,
I1.INV_SOURCE,
I1.INV_DEST,
I1.WAREHOUSE,
I1.VENDORASN
FROM
INV_ADJUSTMENT I1
LEFT JOIN
INV_ADJUSTMENT I2
ON (I2.ADJUST_TYPE='S'
AND I2.WAREHOUSE=I1.WAREHOUSE
AND I2.ITEM=I1.ITEM
AND I2.INV_SOURCE=I1.INV_SOURCE
AND I2.INV_DEST=I1.INV_DEST
AND I2.VENDORASN = I1.VENDORASN)
WHERE I1.ADJUST_TYPE='A'
GROUP BY
I1.ITEM,
I1.INV_SOURCE,
I1.INV_DEST,
I1.WAREHOUSE,
I1.VENDORASN,
I2.ITEM,
I2.INV_SOURCE,
I2.INV_DEST,
I2.WAREHOUSE,
I2.VENDORASN;

最佳答案

试试这个

SELECT 
ITEM,
INV_SOURCE,
INV_DEST,
WAREHOUSE,
VENDORASN,
SUM( ( if ( ADJUST_TYPE ='S', -ADJUST_QTY , ADJUST_QTY ) ) ) AS ADJUSTMENT
FROM INV_ADJUSTMENT
GROUP BY ITEM, INV_SOURCE, INV_DEST, WAREHOUSE, VENDORASN

关于math - 一张表的条件值减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19981739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com