kettle动态SQL写法--上一个流程获取值做为下一个流程的条件

不同表数据作为过滤条件过滤查询

想要实现逻辑是通过上一个流程获取条件放入到下一个流程中抽取数据。
表一:tab1
kettle动态SQL写法--上一个流程获取值做为下一个流程的条件
表二:tab2
kettle动态SQL写法--上一个流程获取值做为下一个流程的条件
根据表一aa字段值过滤表二。
select * from tab2 where aa in (select aa from tab1);

流程

kettle动态SQL写法--上一个流程获取值做为下一个流程的条件

表一数据输入

kettle动态SQL写法--上一个流程获取值做为下一个流程的条件

表二数据输入过滤

过滤条件用的是用"?"占位符表示传入的变量
kettle动态SQL写法--上一个流程获取值做为下一个流程的条件
备注:
一、如果传过来的变量不止一行数据必须勾选上执行每一行,不然执行会失败。因为勾选执行每一行,那么执行SQL的次数就是前一个流程输出的值的总行数,也就是说前面的输出的行数会影响执行的性能。
二、占位符有一定的局限性有些场景是不可以使用的。可以参考:https://blog.csdn.net/neweastsun/article/details/39287809