diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 20e31766aa..499e948562 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -4091,9 +4091,11 @@ final class SelectQueryImpl extends AbstractResultQuery imp private final SelectFieldList getSelectResolveSomeAsterisks0(Scope ctx, boolean resolveSupported) { SelectFieldList result = new SelectFieldList<>(); + boolean knownTableSource = knownTableSource(); + // [#7921] Only H2 supports the * EXCEPT (..) syntax - boolean resolveExcept = resolveSupported || !SUPPORT_NATIVE_EXCEPT.contains(ctx.dialect()); - boolean resolveUnqualifiedCombined = resolveSupported || NO_SUPPORT_UNQUALIFIED_COMBINED.contains(ctx.dialect()); + boolean resolveExcept = resolveSupported || knownTableSource && !SUPPORT_NATIVE_EXCEPT.contains(ctx.dialect()); + boolean resolveUnqualifiedCombined = resolveSupported || knownTableSource && NO_SUPPORT_UNQUALIFIED_COMBINED.contains(ctx.dialect()); // [#7921] TODO Find a better, more efficient way to resolve asterisks SelectFieldList list = getSelectResolveImplicitAsterisks();