假设我在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
答案 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,你将在组件的编辑器中选择它。
但首先您需要转到输入和输出属性标签,并在 OLE DB源输出中设置 IsSorted 属性值为 True 。(您需要确保输入数据真正排序。)
答案 2 :(得分:0)
如果您想加入两个没有任何连接逻辑的数据集(共同的无键),您需要:
在每个数据集中创建一个假密钥列 (对于例如派生列,假列的值在每个数据集中应该不同)
对这些虚假键列进行排序
使用基于这些虚假关系的完整外部联接合并
你认为这是一种奇怪的方式,因为这是你想要获得的一个奇怪的结果,也许你能解释你最初的需要吗?