合并来自SSRS中2个不同数据库的2个数据集的结果

时间:2014-06-13 14:50:09

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

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

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

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

我是否只使用DB1.RESOURCES.ROOM_NAME = DB2.ROOMS.DB2_ROOM_NAME

上的联接

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

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

1 个答案:

答案 0 :(得分:0)

没有办法让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