微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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]

解决方法

原文地址:https://www.jb51.cc/mssql/80928.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐