【问题标题】:Merging two tables with no relationship合并两个没有关系的表
【发布时间】:2020-03-28 22:54:07
【问题描述】:

我需要合并两个源,一个是一个包含三行数据的临时表,其中包含多个属性的数据,它包含table_ididentificationdate 等数据。另一个表有三行,包含一个table_id 和一个数字。

我想将这两个表合并在一起只输出三行,所以我想按原样合并它。我的意思是,来自临时表的第一行将“添加”数字作为该行的另一个属性。

这些表没有键关系,因此无法将它们链接起来。我所做的是在 id 上使用左外连接进行合并连接,它有效,但这是错误的做法,我认为这只是因为 table_id 是相同的。

这就是我所做的:

这是怎么回事?我在 SSIS 中所做的是从源文件中提取,我用这些数据和临时表填充我的星型模式维度。然后我分析来自源文件的聊天评论的情绪并将其存储在维度表中,最终将所有信息插入事实表中。

【问题讨论】:

    标签: sql-server ssis etl


    【解决方案1】:

    使用ROW_NUMBER()窗口函数加入表格:

    select t1.table_id, t1.identification, t1.date, t2.numbercolumn
    from (
      select *, row_number() over (order by table_id) rn
      from table1
    ) t1 left join (
      select *, row_number() over (order by table_id) rn
      from table2
    ) t2 on t2.rn = t1.rn
    

    这 2 个表按它们的 id 排序,因此两个表中的列 rn 将具有值 1,2,3...

    【讨论】:

    • 嗨,我已经尝试过了,但问题是这些来源来自不同的数据库,所以我不知道这是否适用于 SSIS 源组件。但它适用于我的五星级架构维度,但我无法链接其中五个,我已经尝试过但没有运气。
    • 编辑:想通了,解决了
    猜你喜欢
    • 2013-09-01
    • 2016-12-08
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    • 2021-12-29
    • 2019-01-28
    相关资源
    最近更新 更多