繁体   English   中英

记录不是从 EQUI 中选择的

[英]Records are not selected from EQUI

我目前正在开发一个应用程序,它需要 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.

关于如何使用所有其他数据获得相同数量的结果有什么帮助吗?

通常,当您的某些条件不满足或记录集未出现在连接表之一中时,就会发生这种情况。 尝试使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM