pentaho将列表添加到SQL where where子句中

时间:2016-05-05 10:07:07

标签: sql where pentaho

我有一个Penthao转换,其中来自数据库的sql查询的输出列需要作为列表插入到where([list])子句中where where中的另一个数据库的查询中。这一步将是

  1. 在db1上运行查询
  2. 将列转换为列表,在
  3. 中传递此列表
  4. 在第二个查询的where子句中传递此列表
  5. 我理解这可能不是一个简单的问题,但如果有人理解我在哪里挣扎,至少指出我正确的方向可能非常有用。

    谢谢,

1 个答案:

答案 0 :(得分:0)

如果您不想使用Stream lookup,可以这样做。创建包含两个转换步骤的作业。向作业添加参数(我称之为“列表”)。

Job with Parameters

在第一个转换中,从数据库中读取值列表。我刚用Data grid对我进行了硬编码。使用Group by步骤构建值列表。

Group by

请注意,最后一步是Set Variables步骤。选择变量名作为输出,并确保选择“在父作业中有效”作为变量范围类型。

修改

Set variables config

现在,您可以在下一个转换的Table input步骤中使用此变量。请注意“在脚本中替换变量?”检查。

Table input config

这避免了脚本编写步骤。您可以使用Modified Javascript value步骤获得相同的结果,如果此解决方案无法满足您的需求,您可能必须采用这种方法。