Java 找不到使用jOOQ在CommonTableExpression中选择数据的正确方法

Java 找不到使用jOOQ在CommonTableExpression中选择数据的正确方法,java,sql,common-table-expression,jooq,Java,Sql,Common Table Expression,Jooq,我使用jOOQ CommonTableExpression从表中获取不同的周末日期列表。它是使用多个cte的大型查询中最短的cte。我的查询在postgres中工作,但在jOOQ中没有正确的查询 根据jOOQ手册页面,包括: //用于创建CommonTableExpression实例的代码 名称1.fieldsf1,f2.asselectval1,vala; 我试过: 导入org.jooq.DSL.select; MyLog lg=MY_LOG.aslg;//由jOOQ生成的表。 CommonT

我使用jOOQ CommonTableExpression从表中获取不同的周末日期列表。它是使用多个cte的大型查询中最短的cte。我的查询在postgres中工作,但在jOOQ中没有正确的查询

根据jOOQ手册页面,包括:

//用于创建CommonTableExpression实例的代码 名称1.fieldsf1,f2.asselectval1,vala; 我试过:

导入org.jooq.DSL.select; MyLog lg=MY_LOG.aslg;//由jOOQ生成的表。 CommonTableExpression cteWkend=名称cteWkend 菲尔德斯沃肯德先生 .asselectlg.WKEND.distinctOnlg.WKEND.fromlg.fetch; 我从intelliJ收到此错误:

无法将DerivedColumnList1中的as Select应用于org.jooq.Result

看起来问题在里面。请选择。。。而且我在选择之间有不匹配的类型。。。还有。因为它期待着一些不同的东西

搜索让我回到了jOOQ,其中引用了手册页面,给出了一个相当简单的例子。我还没有找到一个非琐碎的例子来告诉我应该做什么,我做错了什么,为什么做错了

有人能给我指一下这里的正确方向吗

在此处删除此提取调用:

CommonTableExpression cteWkend = name("cteWkend")
        .fields("wkend")
        .as(select((lg.WKEND)).distinctOn(lg.WKEND).from(lg) /* .fetch() */);

您不希望在将结果传递给公共表表达式之前执行公共表表达式中的子查询,这是有道理的。我发现我已将最后一行中的.distinctOn调用更改为:.asselectDistinctlg.WKEND.fromlg