Crystal Reports连接来自不同数据库的表

时间:2015-03-20 17:27:03

标签: crystal-reports multiple-databases

我正在尝试将数据从两个不同的数据库中提取到一个水晶报告中。我的理解是它可以使用UNION查询从两个相同的表中提取数据,但是我的表不一样。它们需要加入特定列。例如,假设一个表包含EmployeeID和EmployeeName,第二个表包含EmployeeID和EmployeeSalary。是否可以在ID上加入这些表并显示每个员工的姓名和薪水?

1 个答案:

答案 0 :(得分:0)

您应该能够在“数据库”下将两个数据库添加到Crystal中。下拉菜单 - > '设置数据源位置'选项屏幕。

或者,如果两个数据库已经存在于“我的连接”中。然后,当您在创建新报表时,在“数据”页面上,单击要从中构建报表的每个数据库实例,然后登录到每个报表。

针对您的具体情况,如果要创建新报告。在“标准报告创建向导”的“数据”屏幕中:

  1. 单击数据库A,登录
  2. 将TableX移至选定的表格
  3. 单击数据库B,登录
  4. 将TableY移至选定的表格
  5. 点击“下一步”
  6. 在“链接”屏幕中,Crystal应根据其共享列SmartLink表格,在示例中为EmployeeID
  7. 如果在EmployeeID上没有SmartLink,则根据EmployeeID列手动链接表
  8. 使用Oracle 9以及在两个数据库之间创建DBLink也是可能的,在原始sql查询中,您只需使用@dblink语法调用dblink,如下所示:

        select employeename,
               employeesalary
        from tablea a
          inner join tableb@dblinkname b
            on a.employeeid = b.employeeid