点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,其他开发人员。 我知道这个问题肯定已经回答了几次,原因是为什么可以在查询预览中引发该错误,但是我的情况可能有所不同,因为我还没有理解为什么这段代码在使用参数时无法在SAP中执行。
(案例T2。4时的水平 (选择左(K1.AcctCode,6)+':'+ K1.AcctName 从SAP_LOG_TZN_PROD.dbo.OACT L42内部联接 SAP_LOG_TZN_PROD.dbo.OACT K1 ON L42.FatherNum = K1.AcctCode 在哪里L42.AcctCode = (选择L41.FatherNum 来自SAP_LOG_TZN_PROD.dbo.OACT L41 在哪里L41.AcctCode = T3.AcctCode)) (选择左(K2.AcctCode,6)+':'+ K2.AcctName 从SAP_LOG_TZN_PROD.dbo.OACT L43内联接 SAP_LOG_TZN_PROD.dbo.OACT K2 ON L43.FatherNum = K2.AcctCode L43.AcctCode = T3.AcctCode)END)作为"帐户级别1"
可以看出,表已被别名化。 当我将这段代码添加到没有它就可以正常执行的其余代码块中时,整个查询将失败,并且 ...必须指定要从中选择的表... 。 我尝试了几种方法来修改它,但均未成功,以使其与其余代码一起运行。
任何帮助,我都会非常感谢。
嗨
感谢您的快速回复。
您的2个查询的差异检查表示比Case语句更多的更改。 请参考所附的截图,显示差异结果。 红色突出显示的部分是代码错误的查询中不存在的部分。 绿色突出显示的文本是原始查询中新添加的部分。
有关错误和差异结果的详细信息,请仔细检查"业务一"中是否存在表" SAP_LOG_TZN_PROD.dbo.OACT"。 看来,您查询中的Select之一无法找到特定的数据库表,因此您会收到错误消息"必须指定表...。"
请分享您的问题的最新更新。
如果您的问题得到解决,请将适当的回答标记为答案。
祝大家好运
Sam
谢谢您的输入。 我从未在实践中经历过这种情况,并且不知道您可以这样做。 最后的目的是将查询与已经集成在我们的B1环境中的第三方报告工具集成。 除非它首先在Query Manager中成功运行,否则该报告将不起作用。
Hi
有时,Query Manager无法运行复杂的查询并显示此消息。
p>我解决了创建存储过程以运行此查询的问题,仅在查询管理器中我写了exec StoreProcedureName
亲切的问候
Agustín
嗨
关于您的回复:
" CASE语句块的复杂性可能是查询管理器无法识别该表或其块中的别名。没有该CASE块,查询运行良好,并且在Microsoft SQL中整体运行良好 如果直接提供参数详细信息,请访问Server Management Studio。
我想我需要重写CASE块以使其更简单或更容易分解,以获得与我需要的结果相同的结果,因为这是告诉我我在数据中查看的每个帐户的帐户级别。/em>"
-如果同一查询在Microsoft SQL Server Management Studio中使用CASE块运行良好,则可能值得以更简单的方式或使用存储过程(如Agustin Marcos Cividanes所建议的那样)重写CASE块。
祝你好运,
山姆
一周热门 更多>