【问题标题】:SQL Server Integration Service Left JoinSQL Server 集成服务左联接
【发布时间】:2014-12-26 12:09:50
【问题描述】:

我一直在尝试将下一个 ACCESS 查询转换为 SSIS 数据流:

Insert into A.column1, A.column2..    
Select B.column1, B.column2, C.column1, C.column2    
from B left join C on B.column3 = C.column3    
Group by A.column#    
Having B.column# is null

到目前为止,我已经创建了下一个数据流

(Excel源和DB源)-> Merge Join -> Data Conversion-> Conditional Split -> DB Destination

但是当我尝试在 Merge Join 中插入查询时,出现下一条消息错误:

对于此转换,两个来源的 isSorted 属性都必须设置为 True。

所以我转到属性窗口,但在属性列表中没有看到类似的内容。

我可以做些什么来解决这个问题?或者更好的是,您知道在 SSIS 中执行此查询的最佳方法吗?

【问题讨论】:

  • 在源组件(Excel 和 DB)的“高级”选项卡中查找 IsSorted 属性。
  • 感谢您的回答。通过进一步观察,我发现了这个例子,我认为这对于像我这样刚开始使用这个工具的人来说非常有用。 mssqltips.com/sqlservertip/1322/…

标签: ssis ssis-2012


【解决方案1】:

IsSorted 属性位于源组件的输入和输出属性选项卡中。您需要将其设置为 true,并通过选择该列并将 SortKeyPosition 属性设置为 1 来指定对结果进行排序的列。如果结果按多列排序,则对另一列执行相同操作列:SortKeyPosition 是一个从 1 开始的列表,列在生成源组件的 SQL 的 ORDER BY 子句中出现的顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多