diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 446bbccd29..ca970f6225 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -629,7 +629,21 @@ final class SelectQueryImpl extends AbstractResultQuery imp } if (CopyClause.UNION.between(start, end)) { - result.union.addAll(map(union, l -> new QueryPartList<>(map(l, (Select s) -> apply(selectQueryImpl(s), q -> q.copy(x -> {})))))); + for (QueryPartList> u : union) { + QueryPartList> l = new QueryPartList<>(); + + for (Select s : u) { + SelectQueryImpl q = selectQueryImpl(s); + + if (q != null) + q = q.copy(x -> {}); + + l.add(q); + } + + result.union.add(l); + } + result.unionOp.addAll(unionOp); result.unionOrderBy.addAll(unionOrderBy);