【发布时间】:2013-11-27 16:54:37
【问题描述】:
这是我第一次在这里提问,如果我可以提供更多数据来帮助您帮助我,请告诉我:)
目前,我有一个类似于以下内容的表:
ID 项目 ADJUST_QTY ADJUST_TYPE INV_SOURCE&n bsp; INV_DEST 仓库 供应商
1 a12 100一个空alloc 1001 null
2 A12 50 S NULL ALLOC 1001 NULL
3 A12 100 S 12345
4 A12 50 A 12345
5 B12 100 A Alloc Un-Alloc 1002 Null
6 B12 100 A UN-Alloc Alloc 1002 Null
我的查询的输出应该是:
ITEM ADJUST_QTY INV_SOURCE INV_DEST 仓库 供应商
A12 50 NULL ALLOC 1001 NULL(这是ID 1 - ID 2)
A12 -50 NULL UN-ALLOC 1001 12345 (这是 ID 4 - ID 3)
B12 100 ALLOC UN-ALLOC 1002 NULL (这是 ID 5)
B12 100 UN-ALLOC ALLOC 1002 NULL (这是 ID 6)
ADJUST_TYPE A = 加,S = 减。我试图找到项目、INV_SOURCE、INV_DEST、WAREHOUSE 和 VENDORASN 相同的 SUM(A) - SUM(S)。目前,我正在使用左连接和分组来尝试实现这一目标,但我没有得到任何结果。我知道有满足我需要的记录,但此时我的查询不正确。
我现在有以下问题:
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;
【问题讨论】:
标签: math db2 conditional-statements conditional-operator