需要在此查询中更改硬代码和过滤器
need to change hard code and filter in this query
下面的db是db2-400我需要加上这部分
“WHERE T01.OTTRNC IN ('001', 'CQU', 'RQU',
”
如果正在读取的 ottrnc 是在这个 table 代码中,而不是这个硬编码中,它应该检查 table 'Codes
'。
我还想添加此列 - t01.OTUSRN
如果它位于此 table 'CLOSERS
' 中,那么我们也想在此条件下过滤整个列。
SELECT ALL T01.OTCOM#, T02.IHPTTC,
T02.IHSLR#, T01.OTTRT,
T01.OTORD#, T02.IHINV#, T01.OTTRND, T02.IHORDT,
T02.IHDOCD, T02.IHORG$, T02.IHORD$,
T02.IHORG$-(T02.IHORD$) AS
INVAMT, T01.OTUSRN, T01.OTTRNC
FROM ASTDTA.OETRANOT T01
INNER JOIN
ASTDTA.OEINHDIH T02 ON T01.OTCOM# = T02.IHCOM#
AND
T01.OTORD# = T02.IHORD#
WHERE T01.OTTRNC IN ('001', 'CQU', 'RQU',
'CRF',
'RRF', 'CWA', 'RWA', 'OCS', 'CRF', 'RBC', 'LMY', 'BCS',
'BCQ')
这两个问题都可以用子查询来解决,一次使用 IN
一次 NOT EXISTS
.
WHERE
T01.OTTRNC IN (SELECT Code FROM Codes) AND
NOT EXISTS(SELECT * FROM Closers WHERE T01.OTUSRN = OTUSRN)
下面的db是db2-400我需要加上这部分
“WHERE T01.OTTRNC IN ('001', 'CQU', 'RQU',
”
如果正在读取的 ottrnc 是在这个 table 代码中,而不是这个硬编码中,它应该检查 table 'Codes
'。
我还想添加此列 - t01.OTUSRN
如果它位于此 table 'CLOSERS
' 中,那么我们也想在此条件下过滤整个列。
SELECT ALL T01.OTCOM#, T02.IHPTTC,
T02.IHSLR#, T01.OTTRT,
T01.OTORD#, T02.IHINV#, T01.OTTRND, T02.IHORDT,
T02.IHDOCD, T02.IHORG$, T02.IHORD$,
T02.IHORG$-(T02.IHORD$) AS
INVAMT, T01.OTUSRN, T01.OTTRNC
FROM ASTDTA.OETRANOT T01
INNER JOIN
ASTDTA.OEINHDIH T02 ON T01.OTCOM# = T02.IHCOM#
AND
T01.OTORD# = T02.IHORD#
WHERE T01.OTTRNC IN ('001', 'CQU', 'RQU',
'CRF',
'RRF', 'CWA', 'RWA', 'OCS', 'CRF', 'RBC', 'LMY', 'BCS',
'BCQ')
这两个问题都可以用子查询来解决,一次使用 IN
一次 NOT EXISTS
.
WHERE
T01.OTTRNC IN (SELECT Code FROM Codes) AND
NOT EXISTS(SELECT * FROM Closers WHERE T01.OTUSRN = OTUSRN)