HiveSql-join多次相同的字典表-优化

  • Post author:
  • Post category:其他


with tmp as 
(select * from person p left 
join dic d on p.sex = d.key and d.type = 'sex' 
union all
select * from person p 
left join dic d on p.sex = d.key and d.type = 'job') 

select
	max( case when tmp.job = tmp.key and tmp.type = 'job'  
	then tmp.val else 0 end ) as job,  
	max( case when tmp.sex = tmp.key and tmp.type = 'sex'  
	then tmp.val else 0 end ) as sex, 
	id 
from tmp group by id;



版权声明:本文为epitomizelu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。