SSIS - 根据第一个 table 调用第二个 table
SSIS - Calling second table based on first table
我有 2 个表 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
我想将输出存储在平面文件目标中,使其看起来像
10,A,B,C,D 20,A,B,C,D 30,A,B,C,D.
我知道如何使用联接,但不想使用它们。
请帮助我,因为我是 SSIS 2012 的新手。我正在尝试使用 For-Each 循环 来实现,但根本没有成功。
我们将不胜感激逐步解决方案。它应该像对于 T1 的每个条目,一个循环将为 T2 运行。
- 为对象和项目创建变量
- 创建 SQL 语句从 T1 中提取数据并存储在对象变量中。将 ResultSet 设置为“Full result set”并映射 Result SetResult Name(3)
- 使用 Foreach ADO 枚举器添加 Foreach 循环容器
使用 Object 变量作为源变量并映射到项目 (5)。
- 添加数据流。
在数据流中将 T2 table 指定为 DB 源
- 添加派生列并将项目变量添加为额外列
- 将派生列和 T2 数据映射到输出平面文件
我有 2 个表 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
我想将输出存储在平面文件目标中,使其看起来像
10,A,B,C,D 20,A,B,C,D 30,A,B,C,D.
我知道如何使用联接,但不想使用它们。
请帮助我,因为我是 SSIS 2012 的新手。我正在尝试使用 For-Each 循环 来实现,但根本没有成功。
我们将不胜感激逐步解决方案。它应该像对于 T1 的每个条目,一个循环将为 T2 运行。
- 为对象和项目创建变量
- 创建 SQL 语句从 T1 中提取数据并存储在对象变量中。将 ResultSet 设置为“Full result set”并映射 Result SetResult Name(3)
- 使用 Foreach ADO 枚举器添加 Foreach 循环容器 使用 Object 变量作为源变量并映射到项目 (5)。
- 添加数据流。
在数据流中将 T2 table 指定为 DB 源 - 添加派生列并将项目变量添加为额外列
- 将派生列和 T2 数据映射到输出平面文件