Условное поле по выбранному столбцу в запросе JOIN

На данный момент мой запрос выглядит так

 SELECT CSKS~KOSTL CSKS~DATBI CSKS~NAME1 CSKS~KOSAR CSKS~VERAK CEPC~PRCTR CEPC~NAME3 CEPC~NAME4 UP TO X ROWS
 FROM CSKS INNER JOIN CEPC ON ( CSKS~PRCTR = CEPC~PRCTR AND CSKS~KOKRS = CEPC~KOKRS )
   INTO gwa_itab
 WHERE CSKS~BUKRS = cocode AND
    CSKS~KOKRS = cntrarea AND
   CSKS~DATBI  > d1.
   APPEND gwa_itab TO it_itab.
 ENDSELECT.

Как я могу изменить его, чтобы он видел, с какого номера начинаются центры затрат, и если они начинаются, например, с 1, вставьте в столбец Location, который уже находится во внутренней таблице, заданную строку EG: Washington.


person Danilo Vuita    schedule 11.02.2020    source источник
comment
Ваш пример запроса - select. Он не вставляет данные в столбец.   -  person Gordon Linoff    schedule 11.02.2020
comment
@GordonLinoff Да, я знаю, но мне он нужен для извлечения данных из таблицы и на основе того, что он извлекает, для просмотра центров затрат и вставки в столбец Location   -  person Danilo Vuita    schedule 11.02.2020
comment
Ваша цель немного неясна: вы хотите проверить, начинается ли учетный центр с «1», и если да, то вставить во внутреннюю таблицу конкретное значение в столбце «местоположение»? Это верно?   -  person Ovidiu Pocnet    schedule 11.02.2020
comment
Да @OvidiuPocnet   -  person Danilo Vuita    schedule 11.02.2020


Ответы (2)


В последних выпусках 7.50+ вы можете получить одиночный выбор без цикла SELECT:

SELECT ks~kostl, ks~datbi, ks~name1, ks~kosar, ks~verak, pc~prctr, pc~name3, pc~name4,
        CASE SUBSTRING( ks~kostl, 1, 1 )
          WHEN '1' THEN 'Washington'
        END AS location
  FROM csks AS ks
 INNER JOIN cepc AS pc
    ON ks~prctr = pc~prctr AND ks~kokrs = pc~kokrs

 WHERE ks~bukrs = cocode AND
       ks~kokrs = cntrarea AND
       ks~datbi  > d1

  INTO TABLE @DATA(it_itab)
    UP TO 100 ROWS.
person Suncatcher    schedule 11.02.2020

person    schedule
comment
Твое решение - person Ovidiu Pocnet; 11.02.2020