(SELECT CONCAT('ABCDE',SUM((SELECT MAX(id) FROM optigo_data.admin_userdetails LIMIT 1)+1)))
上面是在Mysql中工作,但它在Impala / Hive中不起作用,请帮帮我。
错误:不支持子查询。
答案 0 :(得分:0)
此错误的原因是Impala仅支持FROM和WHERE子句中的子查询。 我认为这将是impala等价物:
SELECT
CONCAT('ABCDE',cast(SUM(t.value+1) as string))
from
(SELECT MAX(cast(id as int)) as value
FROM optigo_data.admin_userdetails LIMIT 1) as t
但是查看查询假设您的目标是生成包含最高ID + 1的字符串,更简单的解决方案是:
SELECT
CONCAT('ABCDE',cast(MAX(cast(id as int)+1) as string))
FROM optigo_data.admin_userdetails
如果我的假设不正确,请纠正我。如果cast as int
已经是数字格式,则可以删除id
。