我需要在JOOQ中做相同的操作。
SELECT
name,
'companyType' AS resultType
FROM company
UNION ALL
SELECT
name,
'userType' AS resultType
FROM "user";
我已经弄清楚如何在JOOQ中使用unionall,但我无法弄清楚如何在选择联合时为结果选择一个常量值。
答案 0 :(得分:9)
您正在寻找DSL.inline()
,用于此目的:
inline("companyType").as("resultType")
或者,完整查询:
using(configuration)
.select(COMPANY.NAME, inline("companyType").as("resultType"))
.from(COMPANY)
.unionAll(
select(USER.NAME, inline("userType").as("resultType"))
.from(USER))
.fetch();
这两个例子都假设你有这个静态导入:
import static org.jooq.impl.DSL.*;
可在此处找到更多信息:http://www.jooq.org/doc/latest/manual/sql-building/bind-values/inlined-parameters