如何将2个不同的表组合成SSIS中的1个表?

时间:2014-09-11 14:51:41

标签: sql sql-server ssis

假设我在SSIS中有来自2个不同服务器的2个不同的表。

Table 1                             Table 2

Animal  Age                      Owner     Location


Dog    10                        Bill       IL
Dog     7                        Kelly      CA
Cat     4                        Tom        TX

我希望有一个结果表

Result Table

Animal  Age  Owner     Location


Dog     10   NULL      NULL
Dog     7    NULL      NULL
Cat     4    NULL      NULL
NULL    NULL Bill      IL
NULL    NULL Kelly     CA
NULL    NULL Tom       TX

3 个答案:

答案 0 :(得分:1)

UNION应该适合:

select animal, age, null as owner, null as location from animal
union
select null as animal, null as age, owner, location from owner

答案 1 :(得分:0)

您应该使用SSIS工具中的合并组件。如果你想要FULL OUTER JOIN,你将在组件的编辑器中选择它。

enter image description here

但首先您需要转到输入和输出属性标签,并在 OLE DB源输出中设置 IsSorted 属性值为 True 。(您需要确保输入数据真正排序。)

答案 2 :(得分:0)

如果您想加入两个没有任何连接逻辑的数据集(共同的无键),您需要:

  • 在每个数据集中创建一个假密钥列 (对于例如派生列,假列的值在每个数据集中应该不同)

  • 对这些虚假键列进行排序

  • 使用基于这些虚假关系的完整外部联接合并

你认为这是一种奇怪的方式,因为这是你想要获得的一个奇怪的结果,也许你能解释你最初的需要吗?