需要为一种逻辑格式编码

时间:2013-10-02 22:05:34

标签: ibm-midrange db2-400

这里的一个文件是'多格式'。我如何编码我需要的代码?该文件是OEIND1,此代码由IBM I工具从查询中创建。我看到你不能在SQL中使用格式。 那么唯一的方法是使用物理文件吗?

SELECT
   ALL       T01.OHORDD, T03.IHINV#, T01.OHORDT, T01.OHJOB3, T01.OHORD#,
             T02.IDPRLC, T02.IDNTU$*(IDSHP#) AS EXTSHP, T02.IDPRT#
   FROM      ASTDTA/OEORHDOH T01 LEFT OUTER JOIN
             ASTDTA/OEIND1 T02
   ON        T01.OHORD# = T02.IDORD# LEFT OUTER JOIN
             ASTDTA/OEINHDIH T03
   ON        T01.OHORD# = T03.IHORD#
   WHERE     T01.OHOSTC = 'CL'
     AND     T01.OHORDD >= 20120101
   ORDER BY  T01.OHORD# ASC

2 个答案:

答案 0 :(得分:1)

多格式逻辑仅限DDS。 SQL不了解如何处理这些。使用底层PF。

答案 1 :(得分:1)

多格式逻辑文件是通过引用多个物理文件创建的,每个物理文件都以自己的格式提供记录。您只需要一种格式,因此您希望使用包含该格式的物理文件。

如果您确实需要多种格式的信息,请加入相关的物理文件,或者UNION等。在SQL中,你应该指的是物理。如果您已指定物理,则优化器将评估逻辑,并自动使用一个,如果它可以很好地匹配您请求的whay,并且是获得结果的最有效方法。相信SQE优化器。