'How to write this below query in impala as array , lateral pos explode and union won’t work getting error

Select trans_num …. When fccr. Voided then Array (-1* trans_num) Else array( fct. Trans_num) End From fcd table left Join fct table on fcd.polnum=Fct .polnum and fcd. claimdt=fct. claimdt Left join fccr on fcd.polnum=Fccr.polnum and fcd. claimdt=fccr. claimdt and fcd.trans_num=fccr.trans_num Where case when (fct is notnull and fccr_trans_num is not null ) then 1=1 else select ( fcd. Polnum,fcd.claimdt,fct.trans_num) in select cd. Polnum,cd.claimdt,ct.trans_num from fcd cd left join fct ct On cd.polnum=ct.polnum and cd. claimdt=ct. claimdt Where to_date(ct.auditdt)>=‘1900-01-01’ Union select cd. Polnum,cd.claimdt,ct.trans_num from fct ct inner join fcd cd On cd.polnum=ct.polnum and cd. claimdt=ct. claimdt Where to_date(ct.auditdt)>=‘1900-01-01’ Union select cd. Polnum,cd.claimdt,ct.trans_num from Fccr Cr inner join fct ct On Cr.polnum=ct.polnum and Cr. claimed=Cr. claimdt Inner join fcd cd on On cd.polnum=ct.polnum and cd. claimdt=ct. claimdt Where to_date(ct.auditdt)>=‘1900-01-01’ and Cr .voided)a

Lateral view posexplode ( array_Trans_num) as trans_num



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source