Skip to content

SQL: GROUPing BY conditional more complex CASE WHEN fails #46316

@astefan

Description

@astefan

The following query fails SELECT (CASE WHEN bool0 = TRUE THEN '1' WHEN NOT bool0 = TRUE THEN '0' ELSE CAST(NULL AS STRING) END) AS x FROM calcs GROUP BY x with

{
    "error": {
        "root_cause": [
            {
                "type": "folding_exception",
                "reason": "line 1:9: Cannot find grouping for 'CASE WHEN bool0 = TRUE THEN '1' WHEN NOT bool0 = TRUE THEN '0' ELSE CAST(NULL AS STRING) END'"
            }
        ],
        "type": "folding_exception",
        "reason": "line 1:9: Cannot find grouping for 'CASE WHEN bool0 = TRUE THEN '1' WHEN NOT bool0 = TRUE THEN '0' ELSE CAST(NULL AS STRING) END'"
    },
    "status": 400
}

While a simpler one - SELECT (CASE WHEN bool0 = TRUE THEN '1' ELSE '0' END) AS x FROM calcs GROUP BY x works as expected.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions