Hi,

I see peculiar difference while querying using CTE where I'm aliasing one of column in table to another column name in same table. Instead of getting values of source column, hive returns NULLS i.e column 8 values

withcte_temp as

(

select  a.COLUMN1, a.Column2,a.Column2 asColumn8,ID

from<table1> a whereCoalesce(ltrim(rtrim(a.COLUMN1)) ,'') <> ''

ANDCoalesce(ltrim(rtrim(a.COLUMN2)), '') <> ''

ANDCoalesce(ltrim(rtrim(a.COLUMN2)), '') <> ''

ANDa.COLUMN8 ISNULL

anda.ID=100

)

select* fromcte_temp ;


_*Results*_

cte_temp.column1,cte_temp.column2,cte_temp.column8,ID

Row1,UK,,49

Row5,UP,,49


From the above query, Col2 has not null values and I'm filtering on Col8 =null, I'm aliasing Col2 has Col8. Whenever I perform Select * from CTE, I see instead of showing Col2 values, it is showing Col8 values. Is it bug with Hive.


When i run query using SQL SELECT only, it is working fine.


select  a.COLUMN1, a.Column2,a.Column2 asColumn8,ID

from<table1> a whereCoalesce(ltrim(rtrim(a.COLUMN1)) ,'') <> ''

ANDCoalesce(ltrim(rtrim(a.COLUMN2)), '') <> ''

ANDCoalesce(ltrim(rtrim(a.COLUMN2)), '') <> ''

ANDa.COLUMN8 ISNULL

anda.ID=100

Results

_cte_temp.column1,cte_temp.column2,cte_temp.column8,ID_

Row1,UK,test,49

Row5,UP,test,49

Please let me know whether it is problem with CTE.

/Mahender

Reply via email to