ClickHouse / ClickHouse/ClickHouse

with clause use constant can not filter

Open
#31,281 3 comments 0 reactions 0 assignees View on GitHub
comp-query-analyzer external unexpected behaviour
Dominant language
C++
Stars
49.9k
Forks
9k
Avg merge
21h 32m
Merged PRs (30d)
515

Description

ClickHouse server version : version 21.8.10.19 (official build)

EMPLOYEES table desc

EMPLOYEE_ID Int64
FIRST_NAME String
LAST_NAME Nullable(String)
EMAIL Nullable(String)
PHONE_NUMBER String
HIRE_DATE DateTime
JOB_ID Nullable(String)
SALARY Decimal(8, 2)
COMMISSION_PCT Decimal(2, 2)
MANAGER_ID Int64
DEPARTMENT_ID Int64

data :
128 Steven Markle SMARKLE 650.124.1434 2008-03-08 00:00:00 ST_CLERK 2200.00 0.00 120 50
136 Hazel Philtanker HPHILTAN 650.127.1634 2008-02-06 00:00:00 ST_CLERK 2200.00 0.00 122 50
149 Eleni Zlotkey EZLOTKEY 011.44.1344.429018 2008-01-29 00:00:00 SA_MAN 10500.00 0.20 100 80
164 Mattea Marvins MMARVINS 011.44.1346.329268 2008-01-24 00:00:00 SA_REP 7200.00 0.10 147 80
165 David Lee DLEE 011.44.1346.529268 2008-02-23 00:00:00 SA_REP 6800.00 0.10 147 80
166 Sundar Ande SANDE 011.44.1346.629268 2008-03-24 00:00:00 SA_REP 6400.00 0.10 147 80
167 Amit Banda ABANDA 011.44.1346.729268 2008-04-21 00:00:00 SA_REP 6200.00 0.10 147 80
173 Sundita Kumar SKUMAR 011.44.1343.329268 2008-04-21 00:00:00 SA_REP 6100.00 0.10 148 80
179 Charles Johnson CJOHNSON 011.44.1644.429262 2008-01-04 00:00:00 SA_REP 6200.00 0.10 149 80
183 Girard Geoni GGEONI 650.507.9879 2008-02-03 00:00:00 SH_CLERK 2800.00 0.00 120 50
199 Douglas Grant DGRANT 650.507.9844 2008-01-13 00:00:00 SH_CLERK 2600.00 0.00 124 50
100 Steven King SKING 515.123.4567 2003-06-17 00:00:00 AD_PRES 24000.00 0.00 0 90
115 Alexander Khoo AKHOO 515.127.4562 2003-05-18 00:00:00 PU_CLERK 3100.00 0.00 114 30

query 1 using sql:
with catg0 as (
select EMAIL from EMPLOYEES where SALARY >= 3000

) ,
catg1 as (
select EMAIL from EMPLOYEES where SALARY < 3000
)
,
catg2 as (
select EMAIL,1 RICH from catg0
UNION ALL
select EMAIL,0 RICH from catg1
)
select EMAIL, RICH from catg2
**this is OK**

query 2 using sql :

with catg0 as (
select EMAIL from EMPLOYEES where SALARY >= 3000

) ,
catg1 as (
select EMAIL from EMPLOYEES where SALARY < 3000
)
,
catg2 as (
select EMAIL,1 RICH from catg0
UNION ALL
select EMAIL,0 RICH from catg1
)
select * from catg2 where rich =1

**produces an error**
error message:
[Code: 47, SQL State: ] ClickHouse exception, code: 47, host: 172.16.75.6, port: 8123; Code: 47, e.displayText() = DB::Exception: Missing columns: 'rich' while processing query: 'WITH catg0 AS (SELECT EMAIL FROM EMPLOYEES WHERE SALARY >= 3000), catg1 AS (SELECT EMAIL FROM EMPLOYEES WHERE SALARY < 3000), catg2 AS (SELECT EMAIL, 1 AS RICH FROM catg0 UNION ALL SELECT EMAIL, 0 AS RICH FROM catg1) SELECT EMAIL, RICH FROM catg2 WHERE rich = 1', required columns: 'EMAIL' 'RICH' 'rich' 'EMAIL' 'RICH' 'rich' (version 21.8.10.19 (official build))

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.