我想知道是否可以通过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,任务名称列:审查
发布于 2015-01-11 09:15:05
使用Cross Join进行此操作
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 https://stackoverflow.com/questions/27885485
复制相似问题