使用查询结果作为 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
我需要使用 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