【问题标题】:merge results from 2 datasets from 2 different databases in SSRS合并来自 SSRS 中 2 个不同数据库的 2 个数据集的结果
【发布时间】:2014-06-13 14:50:09
【问题描述】:

我有两个 SQL Server 2008 数据库,并且正在使用 SSRS 2008 R2。在 DB1 中,我列出了所有房间以及占用这些房间的服务。其中一些房间没有针对它们记录的服务。这些房间(及其服务)记录在 DB2 中。

在 DB2 中,我有少量房间以及使用这些房间的服务列表。出现在 DB2 中的房间存在于 DB1 中,但在 DB1 中它们没有针对它们记录的任何服务。

我想将两个数据集的结果合并到一个 tablix 中,以便显示 DB1 中的所有房间以及 DB2 中的房间,以便所有房间都显示针对它们的服务。只是想知道最好的方法是什么?我在两个匹配的数据库上都有一个字段。 DB1.RESOURCES.ROOM_NAME 和 DB2.ROOMS.DB2_ROOM_NAME。但这确实是唯一的相似之处,因为两个数据库都有不同的表和字段名称。

我是否只使用 DB1.RESOURCES.ROOM_NAME = DB2.ROOMS.DB2_ROOM_NAME 上的连接

或者我应该在这里使用查找功能。

任何有关如何实现的指导将不胜感激。

【问题讨论】:

标签: sql-server sql-server-2008 reporting-services ssrs-2008-r2


【解决方案1】:

没有办法让 tablix 有两个数据集。解决此问题的最简单方法是使用 T-SQL 存储过程,其中您在 DB1 和 DB2 之间有一个链接的数据库服务器,然后您可以在 DB2 中从 DB1 引用该表。所以它会有一些类似的代码:

SELECT d.ColA, d.ColB, d.ColC
FROM dbo.MyTable d
UNION ALL
SELECT b.ColA, b.ColB,b.ColC
DROM DB1.dbo.MyOtherTable b

您将在下面找到有关链接服务器的更多信息:

Linked Servers

【讨论】:

    猜你喜欢
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2021-08-07
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多