有两个结果集A和B,在SSIS Merge中如何获得A结果集的EXCEPT和INTERSECT。
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合并连接中获取这些查询结果
根据他的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