ssis Merge Join Transformation左外连接,其中col为null

时间:2014-10-23 01:43:55

标签: sql-server sql-server-2008 join ssis

只想询问Merge Join Transformation left outer where Supplier.SupplierCode为null join我有2个数据源我有这个sql脚本来使它成为SSIS

SELECT Supplier.SupplierCode, Supplier.SupplierName, Supplier.Address, af.SupplierId, af.SupplierCode AS Expr4, af.SupplierName AS Expr5, af.Address AS Expr6, af.EffectiveDate, af.ExpirationDate, af.CurrentFlag,
af.Expr1, af.Expr2, af.Expr3
FROM Supplier LEFT OUTER JOIN
(SELECT DimSupplier.SupplierId, DimSupplier.SupplierCode, DimSupplier.SupplierName, DimSupplier.Address, DimSupplier.EffectiveDate, DimSupplier.ExpirationDate, DimSupplier.CurrentFlag,
Supplier.SupplierCode AS Expr1, Supplier.SupplierName AS Expr2, Supplier.Address AS Expr3
FROM DimSupplier LEFT OUTER JOIN
Supplier ON DimSupplier.SupplierCode = Supplier.SupplierCode) AS af ON Supplier.SupplierCode = af.SupplierCode
where Supplier.SupplierCode is null

首先我使用sup脚本并将其转换为数据OLE DB Source Command并使用Merge Join作为Transformation left outer来加入数据流。我想问一下如何实现Supplier.SupplierCode在ssis中为null并且whate是卑鄙的

  

指定转换是否将null值处理为等于   其他空值。注意:如果空值不被视为相等的值,则   转换处理空值,如SQL Server数据库引擎   确实

与Supplier.SupplierCode为空的位置相同吗? 更新我试图删除空值以将其插入我的目标表并删除精致

enter image description here enter image description here

1 个答案:

答案 0 :(得分:5)

您可以使用条件分割,如下例所示。

enter image description here

在条件拆分中,使用ISNULL(Supplier.SupplierCode).

我有一个建议,删除使用的两种排序,而是对OLEDB源数据进行排序,并在两个OLEDB源中生成issort = TRUE。

相关问题