SSIS:查找数据并再次合并

时间:2015-03-09 13:20:37

标签: sql-server ssis

不知何故,我觉得这应该是一个简单的 - 但我看不出如何在SSIS包中解决这个问题。

我有两个表:Order和CustomerMapping。我的CustomerMapping表不包含我的所有客户,只包含已更改Id和CustomerName的客户。

表的定义是:

订单:
Id(int)
CustomerId(int)
客户名称(nvarchar(50))

CustomerMapping:
Id(int)
ObsoleteId(int)
客户名称(nvarchar(50))
ObsoleteCustomerName(nvarchar(50))

订单表中的数据是:

Id     CustomerId     CustomerName
1      100            Customer 1
2      101            Customer 2
3      102            Customer 3

CustomerMapping中的数据:

Id    ObsoleteId    CustomerName    ObsoleteCustomerName
20    100           New Customer 1  Customer 1
21    101           New Customer 2  Customer 2

我想使用SSIS包提供的工具在SQL中创建我想做的事情:

SELECT o.Id,
       CustomerId = ISNULL(cm.Id, o.CustomerId),
       CustomerName = ISNULL(cm.CustomerName, o.CustomerName)
FROM Order AS o
     LEFT JOIN CustomerMapping AS cm ON o.CustomerId = cm.ObsoleteId

上述查询的结果是

Id    CustomerId    CustomerName
1     20            New Customer 1
2     21            New Customer 2
3     102           Customer 3

我现在想把这个结果集保存到一个新表中。

我知道我可以采取上面的SQL并做我想做的事情(这可能是我最终要做的事情),但不知怎的,我相信我可以进行查找,合并和/或合并加入......但是我我必须承认,如果不将查询分成两部分,然后必须从每个新的"线程"中保存,我无法真正看到我这样做。

以上是相当简化的...我有4列我必须比较,然后再做一些其他的东西,然后再将它保存到新表中,这就是为什么我要保留一个& #34;螺纹"

编辑:图片添加: I want to to change look up data right after the very first "data source" Source Assistant.

0 个答案:

没有答案