【发布时间】:2020-03-28 17:26:59
【问题描述】:
我正在使用 jOOQ CommonTableExpression 从表中获取不同周末日期的列表。它是使用多个 cte 的较大查询中最短的 cte。我有查询在 postgres 中工作,但在 jOOQ 中没有正确。
根据 WITH 的 jOOQ 手册页:
// Code for creating a CommonTableExpression instance
name("t1").fields("f1", "f2").as(select(val(1), val("a")));
我试过了:
import org.jooq.DSL.select;
MyLog lg = MY_LOG.as("lg"); // a table generated by jOOQ.
CommonTableExpression cteWkend = name("cteWkend")
.fields("wkend")
.as(select((lg.WKEND)).distinctOn(lg.WKEND).from(lg).fetch());
我从 IntelliJ 收到此错误:
DerivedColumnList1 中的 Select
不能应用于 org.jooq.Result >
看起来问题出在 .as(select ...) 之内,而且我在 (select ...) 和 .as() 之间的类型不匹配,这期待一些不同的东西。
搜索让我回到了引用的 jOOQ WITH 手册页,它给出了一个相当简单的例子。我无法找到一个重要的例子来告诉我应该去那里,我做错了什么或为什么错了。
有人可以在这里为我指出正确的方向吗?
【问题讨论】:
标签: java sql common-table-expression jooq