相交与否如何导致SSIS

问题描述 投票:2回答:1

有两个结果集A和B,在SSIS Merge中如何获得A结果集的EXCEPT和INTERSECT。

enter image description here

Bellow sql语法返回所需的输出:

---Insersect
select a.* from A a Inner join B b on a.Key=b.Key 

--Except
select a.* from A a left join B b on a.Key=b.Key where b.Key is null

如何从SSIS合并连接中获取这些查询结果

sql sql-server ssis etl sql-server-data-tools
1个回答
0
投票

根据他的Microsoft Artcile,“合并连接转换提供了通过使用FULL,LEFT或INNER连接连接两个已排序数据集而生成的输出”

在Merge Join Transformation编辑器中,您可以选择Join Type属性来执行此操作:

除了:

从a.Key = b.Key上的A左边连接B b中选择a。*,其中b.Key为null

您必须设置Join Type = Left Outer Join,并且在Merge Join Transformation之后您必须添加条件拆分以过滤具有b.Key is null的行

请遵循以下详细文章:Get all from Table A that isn't in Table B

相交

从a.Key = b.Key上的A a Inner join B b中选择a。*

你必须设置Join Type = Inner Join

请遵循以下文章:Inner join in SSIS

© www.soinside.com 2019 - 2024. All rights reserved.