AMDP-子选择错误:单行子查询返回多个行

2020-08-13 19:14发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


早上好:)

我想进行子选择,但是我总是收到此错误:单"行子查询返回多个行"

 test =选择
                           ta.rclnt
                           ta.szenario,
                           ta.fiscalyear,/*会计年度*/
                           ta.version,/*版本*/
                           ta.period,/*期限*/
                           ta.rcomp,/*公司代码*/
                           ta.RBUKRS,/* Buchungskreis */
                           ta.DRCRK,
                           fagl.ERGSL LIKE_REGEXPR'[A-Z]'THEN的情况
                                             (从FAGL_011PC中选择参数ERGSL作为参数,其中参数ID在(
                                                 (从FAGL_011PC中选择不同的chi.parent作为chi,其中chi.ERGSL = fagl.ERGSL和chi.VERSN ='IAT')))ELSE fagl.ERGSL END作为GAccount,/*交易类型*/


                           fagl.ERGSL,
                           fagl.XSOLL,
                           fagl.XHABN,/*组帐户*/
                           ta.ktoks,
                           ta.rmvct,
                           ta.SAKNR,/*总帐科目*/
                           ta.rassc,/*交易伙伴*/
                           ta.fid_maturity,/*到期时间*/
                           ta.hsl,
                           ta.FID_TRAN_TYPE
                     来自:tagetik_response_PRCTR as ta
                     在fagl.VERSN ='IAT'和fagl.VONKT = ta.SAKNR上作为fagl内部加入FAGL_011ZC;
 

此选择返回错误:

从FAGL_011PC中选择不同的chi.parent作为chi,其中chi.ERGSL = fagl.ERGSL和chi.VERSN ='IAT'

但是,如果我将值" fagl.ERGSL"硬编码,它将起作用

从FAGL_011PC中选择不同的chi.parent作为chi,其中chi.ERGSL ='PX23113AAA'和chi.VERSN ='IAT'


这是一个错误吗?
通常可以正常工作。


致谢

艾德里安

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


早上好:)

我想进行子选择,但是我总是收到此错误:单"行子查询返回多个行"

 test =选择
                           ta.rclnt
                           ta.szenario,
                           ta.fiscalyear,/*会计年度*/
                           ta.version,/*版本*/
                           ta.period,/*期限*/
                           ta.rcomp,/*公司代码*/
                           ta.RBUKRS,/* Buchungskreis */
                           ta.DRCRK,
                           fagl.ERGSL LIKE_REGEXPR'[A-Z]'THEN的情况
                                             (从FAGL_011PC中选择参数ERGSL作为参数,其中参数ID在(
                                                 (从FAGL_011PC中选择不同的chi.parent作为chi,其中chi.ERGSL = fagl.ERGSL和chi.VERSN ='IAT')))ELSE fagl.ERGSL END作为GAccount,/*交易类型*/


                           fagl.ERGSL,
                           fagl.XSOLL,
                           fagl.XHABN,/*组帐户*/
                           ta.ktoks,
                           ta.rmvct,
                           ta.SAKNR,/*总帐科目*/
                           ta.rassc,/*交易伙伴*/
                           ta.fid_maturity,/*到期时间*/
                           ta.hsl,
                           ta.FID_TRAN_TYPE
                     来自:tagetik_response_PRCTR as ta
                     在fagl.VERSN ='IAT'和fagl.VONKT = ta.SAKNR上作为fagl内部加入FAGL_011ZC;
 

此选择返回错误:

从FAGL_011PC中选择不同的chi.parent作为chi,其中chi.ERGSL = fagl.ERGSL和chi.VERSN ='IAT'

但是,如果我将值" fagl.ERGSL"硬编码,它将起作用

从FAGL_011PC中选择不同的chi.parent作为chi,其中chi.ERGSL ='PX23113AAA'和chi.VERSN ='IAT'


这是一个错误吗?
通常可以正常工作。


致谢

艾德里安

付费偷看设置
发送
2条回答
奄奄一息的小鱼
1楼-- · 2020-08-13 19:31

这不是错误。 如错误消息所述,您的子查询返回多个值,该值是window函数所不允许的。 即使您固定了PX23113AAA的值并且可以工作,也并不意味着对于其他值您将始终仅获得1条记录。

ERGSL列中可能还有其他一些值导致此查询:

从FAGL_011PC中选择参数ERGSL作为参数

返回多个值。 为了确保始终返回1条记录,您可以在子查询中添加LIMIT 1子句:

从FAGL_011PC中选择参数ERGSL作为参数,其中par.ID in((从FAGL_011PC中选择不同的chi.parent作为chi 其中chi.ERGSL = fagl.ERGSL和chi.VERSN ='IAT'))LIMIT 1 

但是如果结果为ERGSL列返回了多个值,这可能会给您带来错误的情况 会随机选择第一个)

最好只将子查询加入当前语句,而不是使用子查询。

何必丶何苦呢
2楼-- · 2020-08-13 19:30

感谢您访问SAP社区 获得您问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的回响。

例如,您可以概述寻找答案的步骤(以及答案无用的原因)并分享您看到/完成的屏幕截图。 您提供的详细信息越多,成员越有可能为您提供帮助。 如果您愿意,可以先选择"操作",然后选择"编辑"来修改问题(尽管一旦有人回答了问题,您将失去编辑问题的能力,但是如果发生这种情况,可以在评论中保留更多详细信息)。

最后,如果您希望与读者建立联系,请考虑在您的个人资料中添加图片。 操作方法如下: https://www.youtube.com/watch?v = F5JdUbyjfMA&list = PLpQebylHrdh5s3gwy-h6RtymfDpoz3vDS 。 通过使用您的照片来个性化您的个人资料,可以鼓励读者做出回应。

干杯,
Julia
SAP社区主持人

一周热门 更多>