如何解决是否可以在JOOQ的“选择”中合并“字段”和表记录?
我正在使用自动增量会话变量临时列,以获取特定排序顺序的某种序列。查询看起来像这样:
return ctx.select(
field("rowNumber"),TABLE.ID
).from(/* Get an inner query here */)
.where(TABLE.ID.eq(someValue))
.orderBy(field("rowNumber").asc());
但是,当我尝试执行上述查询时,它返回以下错误:
Unknown column 'TABLE.ID' in 'field list'
使它起作用的唯一方法是,当TABLE.ID
在field("ID")
中作为ctx.select()
传递时。
是不是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());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。