我有两个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功能。
任何有关如何实现的指导将不胜感激。
答案 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
您可以在下面找到有关链接服务器的更多信息: