У меня простой запрос.Я делаю простой выбор (см. Ниже).Теперь это работает. Я хочу сделать внутреннее соединение с другой таблицей, а также сделать оператор if внутри.Я искал в Интернете и не могу найти то, что ищу.
Я в основном хочу присоединиться к основной таблице элементов, и если это тип 'E', сделать что-нибудь еще, сделать что-то.
Может ли кто-нибудь указать мне правильное направление?
EXEC SQL Declare RSCURSOR cursor for
SELECT A.*, B.*
FROM HPO A
INNER JOIN IIML01 B on A.PPROD = B.IPROD
IF B.IITYP <> 'E';
PCMT = B.IDESC;
ELSE;
PCMT = A.PCMT ;
WHERE PORD = :PON AND PLINE = :LIN;
EXEC SQL Open RSCURSOR;
EXEC SQL SET RESULT SETS Cursor RSCURSOR;
IF SQLSTATE = '00000';
RSL = '00';
ELSEIF SQLSTATE = '02000';
RSL = '10';
ELSE;
RSL = '20';
ENDIF;
Это то, что я исправил в RPG:
C PPROD CHAIN IPI100IM 99
C *IN99 IFEQ '0'
C
C IITYP IFNE 'E'
C EVAL RS(CNT).PCMT = IDESC
C ELSE
C EVAL RS(CNT).PCMT = PCMT
C ENDIF