栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

oracle sql 转换成 hive sql -子查询转关联查询(六).子查询多表关联max函数类型修改,from中关联子查询

oracle sql 转换成 hive sql -子查询转关联查询(六).子查询多表关联max函数类型修改,from中关联子查询

其他sql格式也在更新中,可直接查看俺的这个系列,要是没有你需要的格式,可在评论或私信我,俺现在一天一看

Oracle转换hive
      • 其他sql格式也在更新中,可直接查看俺的这个系列,要是没有你需要的格式,可在评论或私信我,俺现在一天一看
      • 函数子查询有关联条件的语句

函数子查询有关联条件的语句

过程:一位好友私信我的一个子查询中多表sql问题
看这个sql,子查询中的名字别名也是a,外面的表也是a,这不是书写错误,只是不规范吧,但是是可以执行的
子查询中的a.riskcode这个字段是外表a的字段,我一开始看这不就是没有关联的子查询呀,他说他找不到子查询中AA的表没有a.riskcode这个字段,我猜这个a.riskcode就是外表A表的字段,直接拆开写就好

oracle 原sql

select 
	(select max(nvl(ObsPeriod,0))
	from AA a,BB b,CC c
	where a.getdutycode=b.getdutycode
	and b.dutycode=c.dutycode
	and c.RISKCODE=a.riskcode) as WaitingPeriod
from 
	A a

hive 改sql

select 
	abcmax.maxabc as WaitingPeriod
from 
	A a
	LEFT JOIN
	(select max(nvl(ObsPeriod,0)) as maxabc,c.riskcode as criskcode
		from lmdutygetclm a,lmdutygetrela b,lmriskduty c
		where a.getdutycode=b.getdutycode
		and b.dutycode=c.dutycode
		group by riskcode
	)abcmax
	on abcmax.criskcode=a.riskcode

记录:这个sql主要就是上一个人的书写不规范问题,AA表的别名和外表A的别名一致了,oracle真强大,这个它都能直接判断,了不得
模板sql是这个:子查询max函数的改造.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/601110.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号