从Docs:
尝试代码在这里:
SelectQuery<Record> selectQuery=Transaction.current().selectQuery();
selectQuery.addSelect(Property.PROPERTY.PROPERTY_RSN);
selectQuery.addFrom(Property.PROPERTY);
SelectQuery<Record> selectUnionQuery=Transaction.current().selectQuery();
selectUnionQuery.addSelect(Folder.FOLDER.FOLDER_RSN);
selectUnionQuery.addFrom(Folder.FOLDER);
selectQuery.union(selectUnionQuery);
selectQuery.addOrderBy(Folder.FOLDER.FOLDER_RSN);
selectQuery.fetch();
任何人都可以帮我解决这个问题吗?
由于
答案 0 :(得分:2)
最近在jOOQ用户组中提出了这个问题:
jOOQ(历史性)对UNION的理解记录在这里:
这与SQL标准不同,后者将ORDER BY应用于整组子查询。解决方案是在路线图上: https://github.com/jOOQ/jOOQ/issues/1658
同时,您可以使用派生表来解决此限制:
ctx.select()
.from(
select(A)
.from(T1)
.union(
select(B)
.from(T2))
)
.orderBy(...)
请注意,您可能必须为派生表指定别名,以便访问其列。