SSIS - 根据第一个表

时间:2015-10-26 10:20:01

标签: sql-server ssis

我有两张表T1和T2,如下所示:

Create table #T1(ID int)
Insert into #T1 values(10),(20),(30)

Create table #T2(Val varchar(10))
Insert into #T2 values ('A'),('B'),('C'),('D')

output:
-----------
Table1 - ID
-----------
10
20
30
----------
Table2 - Val
----------
A
B
C
D

我想将输出存储在Flat文件目的地中,使其看起来像

10,A,B,C,D 20,A,B,C,D 30,A,B,C,D.

我知道如何使用联接但不想使用它们。

请帮助我,因为我对SSIS 2012比较陌生。我尝试使用For-Each循环但实际上没有取得成功。

逐步解决方案将不胜感激。它应该类似于T1的每个条目,循环将运行T2。

1 个答案:

答案 0 :(得分:1)

Control flow/data flow

  1. 为对象和项目
  2. 创建变量
  3. 创建一个SQL语句,从T1中提取数据并存储在对象变量中。将ResultSet设置为“完整结果集”并映射Result SetResult Name(3)
  4. 使用Foreach ADO枚举器添加Foreach循环容器 使用Object变量作为源变量并映射到项目(5)。
  5. 添加数据流。
    在数据流中,将T2表分配为DB源
  6. 添加派生列并将项目变量添加为额外列
  7. 将派生列和T2数据映射到输出平面文件