sql – SSIS – 在另一个表上执行查找以获取相关列

前端之家收集整理的这篇文章主要介绍了sql – SSIS – 在另一个表上执行查找以获取相关列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在SSIS中执行select语句,但是这个select语句从另一个组件中获取一个参数,并且该select语句的列必须用作其他组件的输入.

例如:

select id from myTable where name = (column from a prevIoUs component).

并且上述select语句的“id”内容应该是未来组件可以使用的列.

如果我添加一个“OLE DB命令”组件,它允许我引用其他组件作为输入,但我无法从中生成输出.似乎OLE DB Command组件仅用于更新/插入语句?

关于如何做的任何想法?

解决方法

实际上,这是Lookup的一个案例.看来你想按名称进行查找并返回id.很简单.以下是我创建此示例的方法

>将数据流任务拖到设计图面上.双击它切换到它.
>为我的数据库创建连接管理器
>拖到设计图面上:

> OLE DB源
>查找转换
> OLE DB目标

>将源连接到目标查找.这是我们想要到达目的地的“查找匹配输出”.见图1.
>配置源.我的源表只有id和name列.
>配置查找

>常规选项卡:使用OLE DB连接
>“连接”选项卡:指定相同的连接,但使用“查找”表.我的查找表只是id和name,但名称是唯一的,所以它作为查阅列更有意义.
>在列选项卡上,配置要映射到name的名称,并将“id”作为输出.将查找操作配置为“添加新列”,并将该列命名为“lookupId”.见图2.
>忽略其他两个标签

>配置输出获取所有三列.见图3.

就这样.对于源中的每一行,name列将用于匹配查找表的name列.每个匹配都会将其id列作为新的lookupId列.所有三列都将前往目的地.

图1:

图2:

图3:

猜你在找的MsSQL相关文章