首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SSIS中筛选源组件

在SSIS中筛选源组件
EN

Stack Overflow用户
提问于 2012-10-24 05:57:55
回答 2查看 5.1K关注 0票数 0

我们目前要求将财务交易引入预算数据库以进行报告。目前,我们先抓取所有财务记录(慢查询),然后抓取所有预算。然后,我们执行合并连接,将财务记录筛选到只有预算的记录。这样做的理想方法是首先提取所有预算,将其提供给另一个组件,然后该组件将生成一个查询,该查询仅提取所需的事务。

示例:

DatabaseA中的TableA有一个名为FakeId的标识列。

DatabaseB中的TableB具有相同的identity列;但是,TableB没有到TableA的一对一映射。相反,“映射”(如果存在)将是一对零或一。我们希望从DatabaseA中的TableA获取所有财务记录,而FakeIdDatabaseB中的TableB中。

我们不能在这两个SQL server之间创建链接服务器,因此执行SELECT * FROM TableA WHERE FakeId IN (SELECT FakeId FROM DatabaseB.TableB)将不起作用。

谢谢,保罗

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 17:13:15

正如您所说,您可以使用两个源,并使用合并连接转换将它们连接起来。

另一种(更多面向数据仓库的)解决方案是将这两个表复制到单独的数据库(通常称为中间区域),然后在数据库级别上使用您建议的查询变体执行逻辑。此解决方案还允许您实现索引和其他性能增强技术,以优化集成。

票数 2
EN

Stack Overflow用户

发布于 2012-10-24 13:58:08

如果你可以使用SSIS,我认为你可以使用'Lookup‘组件:

在SQL Server Integration Services http://www.simple-talk.com/sql/ssis/implementing-lookup-logic-in-sql-server-integration-services/中实现查找逻辑

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13039981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档