Skip to content

Confusing error message: Code: 47. DB::Exception: Unknown identifier #518

Open
@jovezhong

Description

@jovezhong

Describe what's wrong

This is reported by a community user.

To convert to our car_live_data data set,
this works

SELECT *,current_rrdvalue,lag(current_rrdvalue) OVER(PARTITION BY cid) AS prev_rrdvalue
FROM(
SELECT window_start, cid, last_value(longitude) as current_rrdvalue
FROM tumble(car_live_data,10s) GROUP BY window_start, cid
)

But if we add a column to do some flat transformation current_rrdvalue-prev_rrdvalue AS gauge, it will fail with a confusing error message

SELECT *,current_rrdvalue,lag(current_rrdvalue) OVER(PARTITION BY cid) AS prev_rrdvalue,current_rrdvalue-prev_rrdvalue AS gauge 
FROM(
SELECT window_start, cid, last_value(longitude) as current_rrdvalue
FROM tumble(car_live_data,10s) GROUP BY window_start, cid
)

Code: 47. DB::Exception: Unknown identifier: lag(current_rrdvalue) OVER (PARTITION BY cid); there are columns: window_start, cid, current_rrdvalue. (UNKNOWN_IDENTIFIER) (version 1.3.31).

The workaround is to use another outerquery

SELECT *,current_rrdvalue-prev_rrdvalue AS gauge FROM(
SELECT *,current_rrdvalue,lag(current_rrdvalue) OVER(PARTITION BY cid) AS prev_rrdvalue 
FROM(
SELECT window_start, cid, last_value(longitude) as current_rrdvalue
FROM tumble(car_live_data,10s) GROUP BY window_start, cid
)
)

The concern is the error message Unknown identifier: lag(current_rrdvalue) OVER (PARTITION BY cid); there are columns: window_start, cid, current_rrdvalue is nothing to do with the extra column which led this issue current_rrdvalue-prev_rrdvalue AS gauge

How to reproduce

Error message and/or stacktrace

Additional context

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingcommunityFeedback from community

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions