Записи не выбраны из EQUI - PullRequest
0 голосов
/ 23 мая 2018

В настоящее время я работаю над приложением, для которого требуется все оборудование из таблицы EQUI.Когда я смотрю на таблицу через SE11, там 225 записей.

Когда я пытаюсь выбрать оборудование через функциональный модуль, я получаю совсем другой результат.

  SELECT E~EQUNR, E~EQART, I~BEBER, Q~IWERK, I~TPLNR, K~EQKTX, K~SPRAS, E~GERNR, X~PLTXT
  FROM EQUI AS E
  INNER JOIN EQKT AS K ON K~EQUNR EQ E~EQUNR
  INNER JOIN EQUZ AS Q ON Q~EQUNR EQ E~EQUNR
  INNER JOIN ILOA AS I ON I~ILOAN EQ Q~ILOAN
  INNER JOIN IFLOTX AS X on X~TPLNR EQ I~TPLNR
  WHERE E~EQUNR LIKE @P_EQUNR
  AND I~BEBER LIKE @P_BEBER
  AND I~TPLNR LIKE @P_TPLNR
  AND Q~IWERK LIKE @P_IWERK
  AND E~GERNR LIKE @P_GERNR
  AND K~SPRAS EQ @IV_SPRAS
  AND X~SPRAS EQ @IV_SPRAS
  INTO TABLE @ET_EQUIPS.

Когда я запрашиваю их с помощью этого оператора select, я получаю то же количество результатов, что и таблица EQUI, но без других необходимых мне данных.

  SELECT E~EQUNR, E~EQART
  FROM EQUI AS E
  INNER JOIN JEST AS J ON J~OBJNR EQ E~OBJNR
  INNER JOIN TJ02T AS T on T~ISTAT EQ J~STAT
  WHERE INACT NE 'X'
  AND J~STAT NE 'I0320'
  AND J~STAT NE 'I0076'
  INTO TABLE @ET_EQUIPS.

Любая помощьо том, как получить такое же количество результатов со всеми остальными данными?

1 Ответ

0 голосов
/ 24 мая 2018

Обычно это происходит, когда некоторые из ваших условий не выполняются или набор записей не представлен ни в одной из объединенных таблиц.Попробуйте использовать LEFT OUTER JOIN и проверьте все свои условия WHERE по одному.

Вы можете начать со следующего утверждения:

SELECT E~EQUNR, E~EQART, I~BEBER, Q~IWERK, I~TPLNR, K~EQKTX, K~SPRAS, E~GERNR, X~PLTXT
  FROM EQUI AS E
 LEFT OUTER JOIN EQKT AS K ON K~EQUNR EQ E~EQUNR
 LEFT OUTER JOIN EQUZ AS Q ON Q~EQUNR EQ E~EQUNR
 LEFT OUTER JOIN ILOA AS I ON I~ILOAN EQ Q~ILOAN
 LEFT OUTER JOIN IFLOTX AS X on X~TPLNR EQ I~TPLNR
...