Нужно изменить жесткий код и фильтр в этом запросе
БД db2-400 в следующем мне нужно, чтобы добавить эту часть "WHERE T01.OTTRNC IN ('001', 'CQU', 'RQU',
"
это должно сверяться с таблицейCodes
'если чтение ottrnc находится в этой таблице, то коды, а не это жесткое кодирование. Я также хочу добавить этот столбец - t01.OTUSRN
если он находится в этой таблице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')
1 ответ
Решение
Обе проблемы могут быть решены с помощью подзапросов, один раз используя IN
и однажды NOT EXISTS
,
WHERE
T01.OTTRNC IN (SELECT Code FROM Codes) AND
NOT EXISTS(SELECT * FROM Closers WHERE T01.OTUSRN = OTUSRN)