代码之家  ›  专栏  ›  技术社区  ›  user3326668

显示表中一个字段(一个字段可以有多个值)的所有值

  •  0
  • user3326668  · 技术社区  · 12 年前

    我有一张a桌,看起来像:

    number    value
     1           A
     1           B
     2           C
    

    我有一个csv文件,其中一列包含数字。当我用csv文件中的数字对这个表进行(pentaho)数据库查找时,我得到的输出如下:

    number     value
      1         A
      2         C
    

    ETL中是否有其他方式输出必须如下所示:

     number    value
      1          A
      1          B
      2          C
    
    1 回复  |  直到 12 年前
        1
  •  1
  •   Brian.D.Myers    12 年前

    这个 Database Value Lookup 步骤被设计为对于任何给定的输入值最多返回1行。如果要获取键的所有行,可以使用 Database Join 步骤,或读取表和csv文件中的所有行,对它们进行排序,然后通过 Merge Join

    它们大致分别对应于嵌套查找联接和排序合并联接。您可以用查询优化器的方式在它们之间进行选择。基本上,经验法则是如果表中的行数与csv大致相同 合并连接 将更快,否则使用 数据库联接 步这当然是一个“经验法则”,并不会适合所有情况。如果性能至关重要,则鼓励进行实验。

    推荐文章