首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单行子查询返回多行。

单行子查询返回多行。
EN

Database Administration用户
提问于 2015-03-12 14:09:41
回答 1查看 995关注 0票数 -2

我尝试运行折叠查询,但是它给了我‘单行子查询返回多行’的错误。

代码语言:javascript
复制
BEGIN
FOR C2 IN
(SELECT S.bom_header,
                S.sap_cage_cd,
                I.part_doc_nbr AS EIS_PART_NUMBER,
                I.cage_cd AS EIS_CAGE_CODE,
                P.ec_revision_mfg,
                (SELECT NVL (I.sap_xref_no, part_doc_nbr)
          FROM eissap.tbitem i
         WHERE i.item IN (SELECT comp_part
                            FROM eissap.tbpart_config_comp_config
                           WHERE item = comp_part))
          AS sap_xref_no,
                C.comp_config,
                C.qty_per_mfg AS EIS_MFG_QTY,
                NVL (c.unit_of_measure_cd, 'EA') EIS_MFG_UOM,
                I.item AS EIS_ITEM
  FROM TEMP_SAP_BOMS_LIST_BKP S,
       EISSAP.TBITEM I,
       EISSAP.TBPART_CONFIG_COMP_CONFIG C,
       EISSAP.TBPART P
 WHERE     (S.bom_header = I.part_doc_nbr OR S.bom_header = I.sap_xref_no)
       AND S.sap_cage_cd = I.cage_cd
       AND I.item = C.part_item
       AND I.item = P.item
       AND c.config = (SELECT MAX (c1.config)
                         FROM EISSAP.tbpart_config_comp_config c1
                        WHERE c1.part_item = C.part_item))
LOOP
INSERT INTO TEMP_SAP_BOMS T
(T.bom_header           
,T.sap_cage_cd           
,T.EIS_PART_NUMBER          
,T.EIS_CAGE_CODE               
,T.ec_revision_mfg       
,T.SAP_XREF_NO                        
,T.comp_config             
,T.EIS_MFG_QTY             
,T.EIS_MFG_UOM             
,T.EIS_ITEM)                    
SELECT C2.bom_header,
                C2.sap_cage_cd,
                C2.EIS_PART_NUMBER,
                C2.EIS_CAGE_CODE,
                C2.ec_revision_mfg,
                (SELECT NVL (C2.sap_xref_no, part_doc_nbr)
          FROM eissap.tbitem i
         WHERE I.item IN (SELECT comp_part
                            FROM eissap.tbpart_config_comp_config
                           WHERE item = comp_part))
          AS sap_xref_no,
                C2.comp_config,
                C2.EIS_MFG_QTY,
                NVL (C2.EIS_MFG_UOM, 'EA'),
                C2.EIS_ITEM
  FROM TEMP_SAP_BOMS_LIST_BKP S,
       EISSAP.TBITEM I,
       EISSAP.TBPART_CONFIG_COMP_CONFIG C,
       EISSAP.TBPART P
 WHERE     (S.bom_header = I.part_doc_nbr OR S.bom_header = I.sap_xref_no)
       AND S.sap_cage_cd = I.cage_cd
       AND I.item = C.part_item
       AND I.item = P.item
       AND c.config = (SELECT MAX (c1.config)
                         FROM EISSAP.tbpart_config_comp_config c1
                        WHERE c1.part_item = C.part_item);
   END LOOP;
END;
EN

回答 1

Database Administration用户

发布于 2015-03-12 14:22:52

极有可能

代码语言:javascript
复制
,(SELECT NVL (I.sap_xref_no, part_doc_nbr)
          FROM eissap.tbitem i
         WHERE i.item IN (SELECT comp_part
                            FROM eissap.tbpart_config_comp_config
                           WHERE item = comp_part))  AS sap_xref_no,

返回多行(与错误所述的完全相同)。在主查询的SELECT子句中使用子查询时,它必须返回最多一行。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/95078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档