sql-server – 来自不同DB中的过滤器所需的1 DB中的表的数据

前端之家收集整理的这篇文章主要介绍了sql-server – 来自不同DB中的过滤器所需的1 DB中的表的数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Win Form,数据输入,应用程序使用4个单独的数据库.这是偶尔连接的应用程序,它使用合并复制(sql 2005)保持同步.这工作得很好.我试图解决的下一个障碍是向我的出版物添加过滤器.

现在我们正在为我们的150个订户中的每个订阅者复制70mbs,但实际上,他们只需要一小部分.使用过滤器我能够完成这个(见下面的代码),但我必须制作一个映射表才能这样做.该映射表由3列组成. PrimaryID(Guid),WorkerName(varchar)和ClientID(int).

问题是我需要在所有四个数据库中使用此表,以便将其用于过滤器,因为据我所知,过滤器语句中不允许使用视图或跨数据库查询.

我有什么选择?

好像我会将其设置为在1个数据库中维护,然后使用触发器在其他3个数据库中保持更新.为了成为Filter的一部分,我必须在复制集中包含该表,以便如何正确标记它.

还有更好的方法吗?

SELECT <published_columns> FROM [dbo].[tblPlan] WHERE [ClientID] IN (select ClientID from [dbo].[tblWorkerOwnership] where WorkerID = SUSER_SNAME())

这允许您将过滤器链接在一起,下一个过滤器位于第一个过滤器之下,因此它仅从第一个过滤器集中拉出.

SELECT <published_columns> FROM [dbo].[tblPlan] INNER JOIN [dbo].[tblHealthAssessmentReview] ON [tblPlan].[PlanID] = [tblHealthAssessmentReview].[PlanID]

解决方法

猜你在找的MsSQL相关文章