如何根据数据来自SSIS的table添加一列?

How to add a column based on the table which the data come from in SSIS?

我有两个来源 tables:

  1. Ext_Agreements
  2. ABS_Agreements

都有相同的列:“每个 table 都有不同的数据这只是一个例子”

                          ID, START_DATE,  END_DATE, 
                          01, 28/02/2021, 04/05/2021
                          02, 11/10/2021, 09/01/2022
                          03, 08/01/2022, 03/05/2022

我想在目标数据库中将它们合并为一个 table,同时通过添加包含“Ext”或“”的列“AGREEMENT_TYPE”来维护协议类型的信息ABS" 基于协议的来源 table。

目的地 table 将有:

                          ID, START_DATE,  END_DATE, AGREEMENT_TYPE
                          01, 28/02/2021, 04/05/2021,  ABS
                          02, 11/10/2021, 09/01/2022,  EXT
                          03, 08/01/2022, 03/05/2022,  ABS

我尝试了合并和联合所有以及派生列,但我没有成功。 谢谢

在你的源代码中使用 UNION ALL 怎么样?

select ID, START_DATE,  END_DATE, AGREEMENT_TYPE = 'EXT'
from Ext_Agreements
UNION ALL
select ID, START_DATE,  END_DATE, AGREEMENT_TYPE = 'ABS'
from ABS_Agreements

如果你想使用SSIS,那么...

在数据流中。

根据以下内容创建源:

select ID, START_DATE,  END_DATE --, AGREEMENT_TYPE = 'EXT'
from Ext_Agreements

添加派生列并添加:

AgreementType and set (DT_WSTR, 3) "EXT"

对 ABS 执行相同的操作(来源和 der col)。

然后将它们放在一个UnionAll中。