Validation of GROUP BY expression fails

Details

Detail name Value
Changelog Number 30130
Type Bug
Status Resolved
Affected Versions Exasol 8.32.0
Fix Versions Exasol 2026.1.0, Exasol 2025.1.11
Resolution Date 2026-05-15

Description

A query fails with the "not a valid GROUP BY expression" exception in some cases when there is a subquery on the null-generating side of an outer join (for example, the right side of a left outer join), and it contains an expression with a scalar subselect.

Example

-- Setup
CREATE TABLE A (A1 VARCHAR(50), A2 VARCHAR(50));
CREATE TABLE B (B1 VARCHAR(50));

-- Expected: Success
-- Observed: Error "not a valid GROUP BY expression"
SELECT *
FROM (SELECT RN 
      FROM B 
           LEFT JOIN (SELECT A1,
                             CASE WHEN A2 = (SELECT 'X') THEN 1 END AS RN
                      FROM A
                     ) ON A1 = B1
      GROUP BY RN)
WHERE RN > 0;

Workaround

Add an ORDER BY FALSE in a subquery on a null-generating side of a join. In the example above:

SELECT *
FROM (SELECT RN 
      FROM B 
           LEFT JOIN (SELECT A1,
                             CASE WHEN A2 = (SELECT 'X') THEN 1 END AS RN
                      FROM A
                      ORDER BY FALSE
                     ) ON A1 = B1
      GROUP BY RN)
WHERE RN > 0;

Fix

Validation is fixed and the query runs as expected.