我在HIVE中有这个嵌套的子查询。当我执行 1 个子查询时,我的结果返回正常。但是,当我尝试添加第二个子查询时,我收到以下错误。
准备错误:org.apache.hive.service.cli.HiveSQLException:错误 编译语句时:失败:解析异常行 1:861 子查询源中"Subquery_1"附近的输入"."不匹配
下面是我尝试实现的嵌套子查询。在标准 SQL 中镜像此查询可以正常工作。但我对HQL不是很熟悉,也不确定从哪里开始。
LEFT OUTER JOIN
(SELECT smz_au.mid,
smz_au.oid,
Subquery_1.oc
Subquery_1.ri,
Subquery_1.riil,
Subquery_1.rrc
FROM
smz_au
LEFT OUTER JOIN
(SELECT smz_au_1.oid
smz_au_1.oc,
smz_au_1.ri,
smz_au_1.riil,
smz_au_1.rrc
FROM smz_au smz_au_1
WHERE (smz_au_1.initial_status = 'Allocated')
) Subquery_1 ON (smz_au.oid = Subquery_1.oid)
WHERE (smz_au.initial_status = 'Loan Start')
) Subquery ON (smz_ls.mid = Subquery.mid)
在选择中Subquery_1.ri,
之前Subquery_1.oc
之后缺少逗号。
Subquery_1.oc --whithout comma here, Subquery_1.ri is an alias of Subquery_1.oc column
Subquery_1.ri, --and alias should be without dot '.'
--this is why you got " mismatched input '.' "