是否可以在 JOOQ 的 'select' 中合并 'field' 和 table 记录?
Is it possible to combine 'field' and table record inside 'select' in JOOQ?
我正在使用自动增量会话变量临时列,以获取特定排序顺序的某种序列。查询看起来像这样:
return ctx.select(
field("rowNumber"),
TABLE.ID
).from(/* Get an inner query here */)
.where(TABLE.ID.eq(someValue))
.orderBy(field("rowNumber").asc());
但是,当我尝试执行上述查询时,returns 出现以下错误:
Unknown column 'TABLE.ID' in 'field list'
我让它工作的唯一方法是当 TABLE.ID
在 ctx.select()
中作为 field("ID")
传递时。
是否 JOOQ
不支持使用 TableRecord
和 field("column")
的组合指定列?
事实证明,这是可能的。显然,不正确的别名可能与此问题有关。是这样解决的:
TABLE t = TABLE.as("t");
return ctx.select(
field("rowNumber"),
t.ID
).from(getInnerQuery().asTable("t"))
.where(t.ID.eq(someValue))
.orderBy(field("rowNumber").asc());
我正在使用自动增量会话变量临时列,以获取特定排序顺序的某种序列。查询看起来像这样:
return ctx.select(
field("rowNumber"),
TABLE.ID
).from(/* Get an inner query here */)
.where(TABLE.ID.eq(someValue))
.orderBy(field("rowNumber").asc());
但是,当我尝试执行上述查询时,returns 出现以下错误:
Unknown column 'TABLE.ID' in 'field list'
我让它工作的唯一方法是当 TABLE.ID
在 ctx.select()
中作为 field("ID")
传递时。
是否 JOOQ
不支持使用 TableRecord
和 field("column")
的组合指定列?
事实证明,这是可能的。显然,不正确的别名可能与此问题有关。是这样解决的:
TABLE t = TABLE.as("t");
return ctx.select(
field("rowNumber"),
t.ID
).from(getInnerQuery().asTable("t"))
.where(t.ID.eq(someValue))
.orderBy(field("rowNumber").asc());