【问题标题】:Transferring Data b/w 3 Tables传输数据 b/w 3 表
【发布时间】:2012-04-02 09:37:26
【问题描述】:

我想将一个表中的 2 列数据和另一个表中的 3 列数据传输到最终输出表(包含 5 列)。问题是 A 和 B 表之间没有公共列。这个工作如何在SSIS中实现..?

【问题讨论】:

  • 如果现在A表和B表有关系,你怎么知道C表怎么填?
  • 那么你怎么知道第一个表中的哪些行应该与另一个表中的相应行匹配?

标签: sql sql-server-2008 ssis


【解决方案1】:

很简单,您知道这些表之间存在一定的相关性,因此您只需在两个表中添加一个列,其中包含适当的条目作为键来连接它并创建一个连接两个表的表

例如。如 sql =

create table C as 
(select a.one , a. two , B.one1 b.two1, b.three1 from a, b where a.new_column = b.new_column)

您要考虑的只是确保您想到的应该正确遵循的关系。

【讨论】:

    【解决方案2】:

    使用“Union All”任务。它将来自多个输入的数据组合到一个输出中(从每个数据源创建一个新行)

    【讨论】:

      【解决方案3】:

      我假设您没有可以将这两个表关联起来的列。如果您没有可以将表与之关联的键列,只需按照数据在源中存在的顺序从源导入数据,并使用身份/排名方法对其进行标识。然后您可以使用连接以相同的顺序关联行并将数据导入目标。

      您可以使用带有标识列的临时数据集或使用 ROW_NUMBER() 函数来识别它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-03
        • 1970-01-01
        • 1970-01-01
        • 2017-12-29
        • 2021-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多