Ibm midrange 需要在IBMi上向该sql添加几个项目
在第一部分中,我们选择了一些记录,并使用文件输出的会话选项创建了一个“outfile”。我希望这两个部分都是一个SQL。第二部分。我必须包括最后一个表的列。ad.IARCC9目前的数据结果如下:数据显示零件#根据日期销售,我们只需要包括最后一列,即转介给供应商Ibm midrange 需要在IBMi上向该sql添加几个项目,ibm-midrange,db2-400,Ibm Midrange,Db2 400,在第一部分中,我们选择了一些记录,并使用文件输出的会话选项创建了一个“outfile”。我希望这两个部分都是一个SQL。第二部分。我必须包括最后一个表的列。ad.IARCC9目前的数据结果如下:数据显示零件#根据日期销售,我们只需要包括最后一列,即转介给供应商 QUANTITY WWDOCD PART NO. 1.00 20,121,205 MYAABC 1.00 20,130,619 MYAABC
QUANTITY WWDOCD PART NO.
1.00 20,121,205 MYAABC
1.00 20,130,619 MYAABC
1.00 20,130,619 MYAABC
1.00 20,130,726 MYAABC
25.00 20,120,629 AC-GL9
20.00 20,120,502 AC-GL9
30.00 20,120,425 AC-GL9
30.00 20,120,419 AC-GL9
20.00 20,120,411 AC-GL9
30.00 20,120,321 AC-GL9
第一部分
SELECT *
FROM astccdta.Oeinh48 a
JOIN astdta.IcDet1 b ON b.Itcom# = a.IhCom# AND b.ItTrn# = a.IhIdc#
WHERE A.IHORDD > 20120101 AND b.ItTscc = 'I'
--------
第二部分
SELECT ItQty#,IhDocd,ItPRT#
FROM pklib.Fileout1 a
JOIN astdta.icEct1 b ON b.CtCom# = a.ItCom# AND b.CtCtr# = ' ' AND b.CtPrt# =a.ItPrt#
JOIN astdta.Audia ad ON ad.IAprt# = a.ItPrt#
WHERE ad.IARCC9 > ''
ORDER BY ad.IARCC9
您试图避免临时中间输出文件的做法是正确的 你想要的武器库中的工具叫做[CTE]。这是一种功能强大的技术,它允许您将复杂系统构建为一系列逻辑构建块 您可以这样组合:
with f as
(
SELECT *
FROM astccdta.Oeinh48 a
JOIN astdta.IcDet1 b ON b.Itcom# = a.IhCom#
AND b.ItTrn# = a.IhIdc#
WHERE A.IHORDD > 20120101
AND b.ItTscc = 'I'
)
SELECT ItQty#,IhDocd,ItPRT#
FROM f -- this refers to the result set of the CTE above
JOIN astdta.icEct1 b ON b.CtCom# = f.ItCom#
AND b.CtPrt# = f.ItPrt#
AND b.CtCtr# = ' '
JOIN astdta.Audia d ON d.IAprt# = f.ItPrt#
WHERE a.IARCC9 > ''
ORDER BY d.IARCC9;
CREATE TABLE fileout as
(
-- your query goes here
)
WITH DATA;
附加说明:您可以轻松地使用SQL本身来创建输出文件,而不是使用STRSQL会话选项。只需在查询周围放置一个小包装,如下所示:
with f as
(
SELECT *
FROM astccdta.Oeinh48 a
JOIN astdta.IcDet1 b ON b.Itcom# = a.IhCom#
AND b.ItTrn# = a.IhIdc#
WHERE A.IHORDD > 20120101
AND b.ItTscc = 'I'
)
SELECT ItQty#,IhDocd,ItPRT#
FROM f -- this refers to the result set of the CTE above
JOIN astdta.icEct1 b ON b.CtCom# = f.ItCom#
AND b.CtPrt# = f.ItPrt#
AND b.CtCtr# = ' '
JOIN astdta.Audia d ON d.IAprt# = f.ItPrt#
WHERE a.IARCC9 > ''
ORDER BY d.IARCC9;
CREATE TABLE fileout as
(
-- your query goes here
)
WITH DATA;
或者如果要添加到现有文件中
INSERT INTO fileout
-- your query goes here
;
通过使用SQL编写结果,而不是会话设置,您已经创建了一个可以从其他接口运行的解决方案