首页 > 解决方案 > 如何在 JOOQ 中使用普通 SQL 作为派生表?

问题描述

我认为标题是不言自明的。如何在嵌套选择中使用提取的普通 sql 作为派生表?

例如我想获取

select a.a, a.b from (select c.a, c.b from c) as a

(select c.a, c.b from c)

部分是 JOOQ 不支持的复杂 postgres 查询。

我怎样才能做这样的事情:

nested = create.fetch("select c.a, c.b from c")

create.select(...)
    .from(nested)
    .fetch

标签: javasqljooq

解决方案


采用DSL.table(String)

Table<?> nested = DSL.table("(select c.a, c.b from c)").as("a")

create.select(...)
      .from(nested)
      .fetch();

推荐阅读