【问题标题】:ssis Merge Join Transformation left outer join where col is nullssis Merge Join Transformation left outer join where col is null
【发布时间】:2014-10-23 01:43:54
【问题描述】:

只是想问一下 Merge Join Transformation left outer where Supplier.SupplierCode is 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 源命令并使用 Merge Join as Transformation left outer 来加入数据流。只是想问我如何在 ssis 中实现 Supplier.SupplierCode 为空的地方,这是什么意思

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

是否与 Supplier.SupplierCode 为 null 相同? 更新我要删除的 null 值以将其插入到我的目标表中并删除微妙的

【问题讨论】:

  • 如果您希望 Supplier.SupplierCode 为 null 并且您通过供应商代码加入,您将永远不会得到任何行,因为 null 不等于 null。

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


【解决方案1】:

您可以使用如下示例所示的条件拆分。

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

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

【讨论】:

    猜你喜欢
    • 2021-11-29
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2011-01-30
    相关资源
    最近更新 更多