在JOOQ中,我可以像下面的SQL一样编写代码吗?
我不知道写具有多个字段的in
谓词的方法。
select some_value
from t1
where (t1.id1, t1.id2) in ((1, 2), (1, 3), (2, 1))
答案 0 :(得分:2)
您正在寻找DSL.row()
构造函数。也可以看看:
https://www.jooq.org/doc/latest/manual/sql-building/conditional-expressions/in-predicate-degree-n
您的情况如下:
DSL.using(configuration)
.select(T1.SOME_VALUE)
.from(T1)
.where(row(T1.ID1, T1.ID2).in(row(1, 2), row(1, 3), row(2, 1)))
.fetch();
一如既往:
// This static import is implied
import static org.jooq.impl.DSL.*;