Crystal SQL表达式错误:无法绑定多部分标识符

2020-09-04 23:54发布

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

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


您好,我正在尝试创建要在"记录选择"中使用的Crystal SQL表达式。 创建代码后,我收到一条错误消息,指出我所引用的表无法绑定(有多个表)。 crystal-sql-exp-error-01.jpg 。 但是,我的表显然在"字段树"中。 我所附的示例显示为" OR_LOG_ALL_SURG"。" LOG_ID"。

我该如何解决此问题?

我的SQL代码如下:

(选择前1个OR_Shifts.SHIFT_TYPE_C
 来自OR_LOC_SHIFT_TIMES AS OR_Shifts
 左联接ZC_SHIFT_TYPE AS ZC_Shifts ON OR_Shifts.SHIFT_TYPE_C = ZC_Shifts.SHIFT_TYPE_C
 其中ZC_Shifts.ABBR像'%'+" CLARITY_LOC"。" LOC_NAME" +'%'
 订购依据
 (当(ZC_Shifts.ABBR像'%'+" CLARITY_LOC"。" LOC_NAME" +'%'AND ZC_Shifts.ABBR像'%'+ Left(" DATE_DIMENSION .." DAY_OF_WEEK",3)+'%'时 1其他0结束)Desc
 ,(当ZC_Shifts.ABBR =" CLARITY_LOC"。" LOC_NAME"然后1其他0结束时的情况)
 )


 结束
 
crystal-sql-exp-error-01.jpg (12.7 kB)

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

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


您好,我正在尝试创建要在"记录选择"中使用的Crystal SQL表达式。 创建代码后,我收到一条错误消息,指出我所引用的表无法绑定(有多个表)。 crystal-sql-exp-error-01.jpg 。 但是,我的表显然在"字段树"中。 我所附的示例显示为" OR_LOG_ALL_SURG"。" LOG_ID"。

我该如何解决此问题?

我的SQL代码如下:

(选择前1个OR_Shifts.SHIFT_TYPE_C
 来自OR_LOC_SHIFT_TIMES AS OR_Shifts
 左联接ZC_SHIFT_TYPE AS ZC_Shifts ON OR_Shifts.SHIFT_TYPE_C = ZC_Shifts.SHIFT_TYPE_C
 其中ZC_Shifts.ABBR像'%'+" CLARITY_LOC"。" LOC_NAME" +'%'
 订购依据
 (当(ZC_Shifts.ABBR像'%'+" CLARITY_LOC"。" LOC_NAME" +'%'AND ZC_Shifts.ABBR像'%'+ Left(" DATE_DIMENSION .." DAY_OF_WEEK",3)+'%'时 1其他0结束)Desc
 ,(当ZC_Shifts.ABBR =" CLARITY_LOC"。" LOC_NAME"然后1其他0结束时的情况)
 )


 结束
 
crystal-sql-exp-error-01.jpg (12.7 kB)
付费偷看设置
发送
3条回答
半个程序猿
1楼-- · 2020-09-05 00:28

Crystal希望SQL表达式返回单个值,而不是多个值或数据行。 "无法绑定多部分标识符"错误是指您的SQL表达式在单行或多行中返回多个值。

为了像看起来一样过滤数据 尝试这样做,您可能必须编写一个Command而不是使用SQL Expression。 命令是一条SQL Select语句,应为您的报告提供所有数据-通常,联接多个命令或一个命令和一个或多个表不是很好。 有关命令以及如何使用它们的最佳实践的更多信息,请参见以下博客: https://blogs.sap.com/2015/04/01/best-practices-when-using-commands-with-crystal-reports/

- 戴尔

半个程序猿
2楼-- · 2020-09-05 00:16

假设您在查询中使用" order by"将特定记录排序到顶部,那么我可能会稍微更改一下SQL。 另外,订单上带有case语句的" desc"可能会引起问题。 这是您可以使用SWL尝试的方法:

选择前1个OR_Shifts.SHIFT_TYPE_C
 从(
   选择
     OR_Shifts.SHIFT_TYPE_C,
       案件
         当(ZC_Shifts.ABBR喜欢'%'+" CLARITY_LOC"。" LOC_NAME" +'%'AND ZC_Shifts.ABBR喜欢'%'
           +左(" DATE_DIMENSION"。" DAY_OF_WEEK",3)+'%')然后1
         其他0
       结束locate_day,
       案件
         当ZC_Shifts.ABBR =" CLARITY_LOC"。" LOC_NAME"然后1
         其他0
       结束定位
   来自OR_LOC_SHIFT_TIMES AS OR_Shifts
     左联接ZC_SHIFT_TYPE AS ZC_Shifts ON OR_Shifts.SHIFT_TYPE_C = ZC_Shifts.SHIFT_TYPE_C
   其中ZC_Shifts.ABBR像'%'+" CLARITY_LOC"。" LOC_NAME" +'%'

   )
 仍然不支持按locate_day desc顺序排序,定位desc 

-Dell

3楼-- · 2020-09-05 00:16

,SQL表达式只能通过选择一个字段来使用,不能使用SELECT语句。 创建表达式时,请使用"函数"窗口中可用的函数,这是数据库客户端支持的功能。

您应该看到带有更多信息的警告框,也请尝试搜索。 Kbase上有一篇有关使用SQL表达式的文章。

另一个选择是创建一个存储过程以返回单个值。

一周热门 更多>