首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS -多个表上的ForEach循环

SSIS -多个表上的ForEach循环
EN

Stack Overflow用户
提问于 2016-07-21 12:01:05
回答 1查看 515关注 0票数 0

问题是:我有三张桌子。第一个表基本上是一个帐号列表。第二个表包含公司内部的部门列表,最后一个表包含枚举的建筑地点(工厂)列表。SSIS中的数据源被设置(OLEDB),每个数据源都从各自的表(工厂、部门和附件,所有这些都是varchar类型)中提取列中的每条记录。我已经在SSIS中创建了变量(对象类型),并将结果集分配给了三个表中的每一个。行变量也已被设置和分配。

我的目标是:对于每个帐号,我需要创建一个独特的‘代码’,由‘工厂’+ 'dept‘+ 'acctnum’组成,并将这个连接结果插入到一个单独的表中。每个帐号都需要以这种方式与每一家工厂以及每个部门相结合。

因此,插入的示例记录看起来可能是“081350015”(前2位数字是植物的,接下来的2位数字是部门的,其余的5位数字是acctnum)。下一个插入的记录将使用相同的帐号,并结合从dept表中选择的下一个dept记录和从所述植物表中选择的下一个植物记录的结果。基本上,每个帐号都能得到部门/工厂的每一个组合。

示例:

  • AcctNumber表中的第一个记录:“50001”( AcctNumber tbl中大约有300行)
  • “植物表”中的第一条记录:“01”(植物表中的15行)
  • Dept表中的第一条记录:“22”( Dept表中的50行)
  • 现在,构建插入独立表-> '01‘+ '22’+ '50001‘->的代码,插入'01225001’
  • 仍在使用AcctNumber表中的第一条记录:'50001‘
  • 仍在使用Dept表中的第一条记录:“22”
  • 现在,移到“植物表”中的第二条记录:“41”
  • 构建插入到独立表-> '41‘+ '22’+ '50001‘->插入的代码
  • 仍在使用AcctNumber表中的第一条记录:'50001‘
  • 仍在使用Dept表中的第一条记录:“22”
  • 现在,移到“植物表”中的第三条记录:“18”
  • 构建插入到独立表-> '18‘+ '22’+ 50001‘->插入的代码

直到AcctNum/Dept组合('22‘+ '50001')与从“工厂”表返回的每个植物记录组合后,才会有此流。

现在,我们仍然使用从AcctNum表返回的第一条记录(“50001”),使用从Dept表返回的下一条记录( '62‘),并将返回到从工厂表返回的第一个记录( '01’),从而将‘01’+‘62’+ '50001‘插入到分隔表中。因此,对于返回的每个Dept记录,它将与每个返回的植物记录结合在一起,给出唯一的AcctNumber。

我知道这可能会让人困惑(也许不会)。如果需要进一步解释的话请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2016-07-21 16:56:30

我算出来了。最后,通过每次执行2次并在临时表中存储来自每个表的结果,交叉连接这3个表,然后在它们共有的列上交叉连接这些表。谢谢你的评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38503732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档