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

时间:2014-02-20 10:00:06

标签: mysql mysql-workbench pentaho kettle

我有一张表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 个答案:

答案 0 :(得分:0)

Database Value Lookup步骤旨在为任何给定的输入值返回最多1行。如果要获取密钥的所有行,可以使用Database Join步骤,或者读取表和csv文件中的所有行,对它们进行排序,然后通过Merge Join步骤进行处理。

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