Crystal Reports命令-连接不同数据库中的表

2020-09-08 15:03发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我想使用Cryst...

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

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


你好

我想使用Crystal Reports命令来连接位于同一服务器上不同数据库上的两个表。 这可能吗? 它们都是Progress OpenEdge数据库。

通过数据库专家通过链接来自不同数据库的表,我无需命令即可轻松完成此操作。 但是当无法或很难通过Crystal中的过滤器和公式进行操作时,经常可能需要将整个查询作为SQL命令编写。

一个非常简单的示例,仅用于说明。 不同数据库上的两个表:

HB-CLAIM-PERSON和CO-PERSON,将分别加入PERSON-REF。 不使用命令进行设置,检索HB-CLAIM-PERSON.PERSON-TYPE和CO-PERSON.SURNAME,将导致以下SQL:

 ORopenrev
  选择" HB_CLAIM_PERSON"。" PERSON-TYPE"," HB_CLAIM_PERSON"。" PERSON-REF"
  来自" OPENREV"。" PUB"。" HB-CLAIM-PERSON"" HB_CLAIM_PERSON"
  外部联接HB_CLAIM_PERSON.PERSON-REF = {?ORcore:CO_PERSON.PERSON-REF} 

ORcore 选择" CO_PERSON"。" SURNAME"," CO_PERSON"。" PERSON-REF" 来自" CORE"。" PUB"。" CO-PERSON"" CO_PERSON" WHERE" CO_PERSON"。" PERSON-REF" = {?ORopenrev:HB_CLAIM_PERSON.PERSON-REF}


我希望自己能够在一个数据库中的单个命令中编写类似的内容。 即:

选择hcp1。" PERSON-TYPE",cp1。" SURNAME"
 来自" OPENREV"。" PUB"。" HB-CLAIM-PERSON" hcp1
 加入" CORE"。" PUB"。" CO-PERSON" cp1
   开启hcp1。" PERSON-REF" = cp1。" PERSON-REF" 

当然,除了上面的SQL必须在两个数据库中的一个或另一个上的Command中,因此不能按原样工作。

例如,如果我在" OPENREV"数据库上有该命令,将其联接到" CORE"数据库以复制上述伪查询的SQL语法是什么? Crystal本身似乎会生成一个EXTERNAL JOIN,但是我不确定如何在上面的查询中复制它。

这在SAP Business Objects Crystal Reports 2013支持包1,版本14.1.1.1036中。

预先感谢您可以提供的任何指针。

萨米人

4条回答
奄奄一息的小鱼
2020-09-08 15:34 .采纳回答

嗨,萨米,

Crystal Reports需要与两个数据库建立连接以支持此操作。 不幸的是,唯一的方法是分别连接两个DB,然后在CR中将它们本地连接(就像您已经是)。

请记住,由于此类联接没有在数据库服务器上进行处理,因此报告的性能可能会很差。

>

PS:许多数据库都支持DB链接(连接到同一sql中另一个数据库中的表)。 请查看数据库指南,以了解是否可行。

-Abhilash

一周热门 更多>