0
  • 表 1 - 保存订单数据 - 表名 - PANFPOS
  • 表 2 - 项目主数据 - 表名 - PBFSTSS
  • 表 3 - 保存与表 2 - 表名 - PBESTLO 相关的库存数据

我有一个从表 1 和表 2 中提取数据的查询,在这两个表中共有三个字段 - 公司、公司和项目编号。

现在有第三个表,其中包含与表 2 中的项目编号相关联的批号,我需要将其提取

我目前的查询如下: -

    SELECT HE2DATV6.PANFPOS.APKONZ as Holding, HE2DATV6.PANFPOS.APFIRM as Firm, HE2DATV6.Panfpos.APANR1 as OrderNo, 
HE2DATV6.Panfpos.APIDEN as Item, HE2DATV6.PBFSTSS.TZBEZ1 concat
HE2DATV6.PBFSTSS.TZBEZ2 as Description, HE2DATV6.PBFSTSS.TZBEM1 concat
HE2DATV6.PBFSTSS.TZBEM2 as Family, HE2DATV6.Panfpos.APBSTM as OrderedQty, 
HE2DATV6.Panfpos.APRESM AS AlocatedQty
FROM HE2DATV6.PANFPOS LEFT OUTER JOIN   HE2DATV6.PBFSTSS ON HE2DATV6.PANFPOS.APKONZ = HE2DATV6.PBFSTSS.TZKONZ
    AND HE2DATV6.PANFPOS.APFIRM = HE2DATV6.PBFSTSS.TZFIRM
    AND HE2DATV6.PANFPOS.APIDEN = HE2DATV6.PBFSTSS.TZIDEN 
where he2datv6.panfpos.apanr1 = ? and 
HE2DATV6.Panfpos.APIDEN != 'ENDE'

我为加入第二个和第三个表而编写的查询如下:-

SELECT HE2DATV6.PANFPOS.APKONZ as Holding, HE2DATV6.PANFPOS.APFIRM as Firm, HE2DATV6.Panfpos.APANR1 as OrderNo, 
HE2DATV6.Panfpos.APIDEN as Item, HE2DATV6.PBFSTSS.TZBEZ1 concat
HE2DATV6.PBFSTSS.TZBEZ2 as Description, HE2DATV6.PBFSTSS.TZBEM1 concat
HE2DATV6.PBFSTSS.TZBEM2 as Family, HE2DATV6.PBESTLO.BMPRNR as Batch,
HE2DATV6.Panfpos.APBSTM as OrderedQty, 
HE2DATV6.Panfpos.APRESM AS AlocatedQty
FROM (HE2DATV6.PANFPOS LEFT OUTER JOIN HE2DATV6.PBFSTSS ON HE2DATV6.PANFPOS.APKONZ = HE2DATV6.PBFSTSS.TZKONZ
    AND HE2DATV6.PANFPOS.APFIRM = HE2DATV6.PBFSTSS.TZFIRM
    AND HE2DATV6.PANFPOS.APIDEN = HE2DATV6.PBFSTSS.TZIDEN) 
     (HE2DATV6.PBFSTSS LEFT OUTER JOIN HE2DATV6.PBESTLO ON HE2DATV6.PBFSTSS.TZFIRM = HHE2DATV6.PBFSTSS.BMFIRM 
AND HE2DATV6.PBFSTSS.TZKONZ =  HE2DATV6.PBESTLO.BMKONZ 
AND HE2DATV6.PBFSTSS.TZIDEN =  HE2DATV6.PBESTLO.BMIDEN)
     where he2datv6.panfpos.apanr1 = ? and 
HE2DATV6.Panfpos.APIDEN != 'ENDE'

我在 excel 数据连接选项卡上运行此查询以提取报告,但遇到错误 SQL01014 令牌(无效。

4

1 回答 1

0

您不需要再次指定表名,对于另一个LEFT OUTER JOIN,试试这个:

SELECT HE2DATV6.PANFPOS.APKONZ as Holding, HE2DATV6.PANFPOS.APFIRM as Firm, HE2DATV6.Panfpos.APANR1 as OrderNo, 
HE2DATV6.Panfpos.APIDEN as Item, HE2DATV6.PBFSTSS.TZBEZ1 concat
HE2DATV6.PBFSTSS.TZBEZ2 as Description, HE2DATV6.PBFSTSS.TZBEM1 concat
HE2DATV6.PBFSTSS.TZBEM2 as Family, HE2DATV6.PBESTLO.BMPRNR as Batch,
HE2DATV6.Panfpos.APBSTM as OrderedQty, 
HE2DATV6.Panfpos.APRESM AS AlocatedQty
FROM HE2DATV6.PANFPOS LEFT OUTER JOIN HE2DATV6.PBFSTSS ON HE2DATV6.PANFPOS.APKONZ = HE2DATV6.PBFSTSS.TZKONZ
    AND HE2DATV6.PANFPOS.APFIRM = HE2DATV6.PBFSTSS.TZFIRM
    AND HE2DATV6.PANFPOS.APIDEN = HE2DATV6.PBFSTSS.TZIDEN
    LEFT OUTER JOIN HE2DATV6.PBESTLO ON HE2DATV6.PBFSTSS.TZFIRM = HHE2DATV6.PBFSTSS.BMFIRM 
    AND HE2DATV6.PBFSTSS.TZKONZ =  HE2DATV6.PBESTLO.BMKONZ 
    AND HE2DATV6.PBFSTSS.TZIDEN =  HE2DATV6.PBESTLO.BMIDEN
where he2datv6.panfpos.apanr1 = ? and 
HE2DATV6.Panfpos.APIDEN != 'ENDE'
于 2017-05-01T09:55:37.770 回答