【问题标题】:How to take look up values from a look up table using SSIS如何使用 SSIS 从查找表中查找值
【发布时间】:2015-10-08 19:33:27
【问题描述】:

我有一个如下所述的场景,需要为此创建一个 SSIS 包。

我在源表中有 3 列需要输入到目标表中。

但是所有这些列都必须在目标数据库的查找表中查找,然后在目标列中输入它们的 ID。

例如

源表有 3 列的值

idnum   static type timedimension   geography   modified date
1        price      daydate         france  8/12/2015
2      RetailpRICE  WEEK            ITALY   9/12/2014

我想要一个包,它使用匹配 ID 查找列值并填充到目标表中...

我知道我们可以使用 LOOKUP 转换来更新目标表中单个列的数据,那么我需要与查找插入一起插入的其他列呢?

我怎样才能做到这一点?还有一种方法可以使用修改后的日期列值仅从源表中提取最近的数据

【问题讨论】:

  • 您实际上是按照您的标记连接到 MySQL 还是您的意思是 SQL Server,它不使用 mysql 作为标记(或 mssql)
  • 即时连接到 SQL Server Studio 2012。
  • 您是否了解使用mysql 标记充其量是令人困惑的,最坏的情况是会导致基于不正确架构的解决方案?
  • 下次我避免这些问题.. 感谢您的意见。
  • 您能否以更详细的步骤解释您的问题并命名您查找的列,并提供有关这些查找表的信息?

标签: sql ssis


【解决方案1】:

对您需要引用以获取 Id 的每个查找表使用不同的查找。因此,如果您想要 ID 的每一列都从不同的表中获取其 ID,那么您需要使用三个查找,一个接一个,直到您拥有所有三个 ID。

【讨论】:

  • 是的,我确实使用了您提到的三个查找形状。如何将它们一起插入到目标表中?我尝试使用 Union ALL 形状,但它作为单独的查找 ID 插入到目标表中。(例如:每个查找形状从查找表中选择 2 个 ID 值,如果我全部执行联合,则在目标 6 记录插入而不是插入带有列值的 2 条记录)...这可以解决吗?
  • 您将它们一个接一个地放在同一个数据流中,然后就不需要 UNION ALL 或其他任何东西。查找添加的所有三个列都将在最终目标表中可用。每次查找都应该为您的行添加一个值,而不是通过选择 2 个值来创建新行。
  • 很高兴听到这个消息。您可以通过单击此答案顶部左侧的复选标记来关闭此问题。
猜你喜欢
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 2015-11-25
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 2021-12-14
  • 2019-05-22
相关资源
最近更新 更多