Sql server SSI从表中读取数据,并在另一个表中插入2行
我需要从一个源表中读取数据行,并在另一个表中插入不同的行 我已经尝试从表中读取行,使用SSIS中的数据流进行插入工作正常 但基于基于公共ID的源行(拆分源并插入目标中的2行) i、 e一行中的源系统ID和源系统密钥以及另一行中的targetSystemID和目标系统密钥具有相同的commonID,RefID 例如: 源表列和行Sql server SSI从表中读取数据,并在另一个表中插入2行,sql-server,ssis,Sql Server,Ssis,我需要从一个源表中读取数据行,并在另一个表中插入不同的行 我已经尝试从表中读取行,使用SSIS中的数据流进行插入工作正常 但基于基于公共ID的源行(拆分源并插入目标中的2行) i、 e一行中的源系统ID和源系统密钥以及另一行中的targetSystemID和目标系统密钥具有相同的commonID,RefID 例如: 源表列和行 RefID SourceSystemID SourceKey TargetSystemID TargetKey CommonID
RefID SourceSystemID SourceKey TargetSystemID TargetKey CommonID KeyDate
3 1 9BFG06E8AD 2 001351913001 12345 20-02-2010
4 1 8KIJ67ASG9 2 002352014005 45678 20-02-2010
所需的目标列行
DataID(AutoIncrement) RefID SystemID SystemKey CommonID DateCreated(using getdate())
1 3 1 9BFG06E8AD 12345 getdate()
2 3 2 001351913001 12345 getdate()
3 4 1 8KIJ67ASG9 45678 getdate()
4 4 2 002352014005 45678 getdate()
有人可以帮忙吗?您可以在SSIS中使用
UNION ALL
有两种方法可以在SSI中使用UNION ALL
1。在SSIS中使用SQL查询
将此查询用作源
SELECT Row_Number() over(order by RefId) AS DataID,*
FROM(
SELECT RefID, SourceSystemID As SystemId, SourceKey, CommonID, GetDate() as CreatedDate
FROM sample
Union All
SELECT RefID, TargetSystemID, TargetKey, CommonID, GetDate() as CreatedDate
FROM sample
) AS T
Order by RefId,SystemId
;
2。使用SSIS包对象
在数据流任务中创建两个不同的OLE-DB源
像这样(虽然,它的源代码不同,但不是Excel&CSV,而是放两个OLE-DB源代码
),并在源代码一和源代码二中只选择所需的列
请参阅SSIS中的使用Union All
编辑:选中此项以匹配您的答案 您可以在SSI中使用UNION ALL
有两种方法可以在SSI中使用UNION ALL
1。在SSIS中使用SQL查询
将此查询用作源
SELECT Row_Number() over(order by RefId) AS DataID,*
FROM(
SELECT RefID, SourceSystemID As SystemId, SourceKey, CommonID, GetDate() as CreatedDate
FROM sample
Union All
SELECT RefID, TargetSystemID, TargetKey, CommonID, GetDate() as CreatedDate
FROM sample
) AS T
Order by RefId,SystemId
;
2。使用SSIS包对象
在数据流任务中创建两个不同的OLE-DB源
像这样(虽然,它的源代码不同,但不是Excel&CSV,而是放两个OLE-DB源代码
),并在源代码一和源代码二中只选择所需的列
请参阅SSIS中的使用Union All
编辑:选中此项以匹配您的答案 我建议使用LoadTimeStamp vs DateCreated的列名,以避免出现混淆。此记录在加载时“未创建”。它已经存在于其他地方了。@Dale K:sql Server我建议使用LoadTimeStamp vs DateCreated的列名,以避免以后的混淆。此记录在加载时“未创建”。它已经存在于其他地方。@Dale K:sql Server感谢它的工作,但输出将生成第1行、第2行、第3行和第4行,但如何获得我在上面提到的准确输出?@sivaramanvasu:检查我编辑的小提琴链接!让我知道你错过了什么!感谢它的工作,但是输出是生成为第1行、第2行、第3行和第4行,但是如何获得上面提到的准确输出?@sivaramanvasu:检查我编辑的小提琴链接!让我知道你错过了什么!