我从数据库A中的tableA输入,我想加入数据库B中的另一个tableB。
这是我的两个选择:
我选择#1选项,因为我想避免在tableA和tableB中完整地阅读。
我的问题是: 如何将前一步骤中的所有结果用作“IN”查询?
例如
select *
from tableB b
where b.id IN (all_rows_from_prior_step)
与(每个输入行的运行位置)
select *
from tableB b
where b.id = ?
答案 0 :(得分:0)
使用'分组按'用一个字段将行压平成一行' all_rows_from_prior_step'逗号分隔的ID(组字段:空,名称:all_rows_from_prior_step,主题:id,类型:'连接字符串,由'分隔)。接下来,使用用户定义的Java表达式'构建sql查询:
"select * from tableB b where b.id IN (" + all_rows_from_prior_step + ")"
最后,使用'动态SQL行'运行查询。模板sql可能是
select * from tableB b where 1=0