首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS根据CSV和Server数据源的字段值插入记录

SSIS根据CSV和Server数据源的字段值插入记录
EN

Stack Overflow用户
提问于 2015-01-11 09:02:31
回答 1查看 589关注 0票数 0

我想知道是否可以通过SSIS完成以下场景。

我想根据两个数据源中的值向Server插入记录:一个是CSV文件,一个是Server。例如,两个数据源,一个具有名为Customer ID的列,另一个来自SQL Server,列名为Task ID和Task Name。我想用名为Customer Task ID、Customer ID、Task ID和Task Name的列将记录插入到Server。

我尝试了几种没有成功的方法,例如从来源1 (CSV文件)捕获客户ID ( C5000 ),然后与源2(Server)中的任务ID和任务名称列合并,然后将合并的记录插入目标( Server),然后重复执行相同的任务来插入记录,直到最后一个客户记录。我总结了下面的来源和目的地样本。如有任何反馈,将不胜感激!

源1 (CSV文件)--

第1行包含客户ID列: C5000

第2行包含客户ID列: C5001

源代码2(在Server上命名任务的表)--

第1行包含任务ID列: T2000和任务名称列:规划

第2行包含任务ID列: T2001和任务名称列:审查

目标(Server上名为客户任务的表)--

第1行包含客户任务ID列: CT0001,客户ID列: C5000,任务ID列: T2000,任务名称列:规划

第2行包含客户任务ID列: CT0002,客户ID列: C5000,任务ID列: T2001,任务名称列:审查

第3行包含客户任务ID列: CT0003,客户ID列: C5001,任务ID列: T2000,任务名称列:规划

第4行包含客户任务ID列: CT0004,客户ID列: C5001,任务ID列: T2001,任务名称列:审查

EN

回答 1

Stack Overflow用户

发布于 2015-01-11 09:15:05

使用Cross Join进行此操作

代码语言:javascript
复制
INSERT INTO Customer_Task
            (Customer_Task_ID,
             Customer_ID,
             Task_ID,
             Task_name)
SELECT 'CT' + RIGHT('000')
       + CONVERT(VARCHAR(10), Row_number() OVER(ORDER BY (SELECT NULL))),
       Customer_ID,
       Task_ID,
       Task_name
FROM   Customer
       CROSS JOIN Task 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27885485

复制
相关文章

相似问题

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