使用查询结果作为 Pentaho 中另一个不同数据库的过滤器

Use the result of a query as a filter in another of different db in Pentaho

我需要使用 MySql 中查询的结果作为 Pentaho 中另一个 Postgre 查询的过滤器。

示例:

查询 1:

 SELECT GROUP_CONCAT("'",`name`, "'" SEPARATOR ', ') as names
 FROM mysql.table;

查询 2:

 SELECT * from postgre.table WHERE name in (ResultQuery1);

我对查询使用 table 输入步骤,但我不知道如何将第一个查询的结果作为第二个查询的参数传递。

提前致谢。

您可以使用 ?每个参数的占位符,有几个注意事项:数量?必须与上一步中的字段数匹配且顺序相同。

在第二个 table 输入中,在“从步骤中插入数据”框中选择第一个步骤名称,并选中“对每个输入行执行。

每行数据将生成一个单独的 SQL 查询,每个查询中有 1 个值,因此您可能还想将 IN 操作数替换为 =

您可以通过 Insert data from step in table input 步骤获得。提及此字段并在查询

中放置“?

check this image