【发布时间】:2016-04-23 11:45:44
【问题描述】:
我试图在 hive(版本 1.2.1)上运行这样的查询:
DELETE FROM employee as e WHERE (e.id, e.name) IN ( SELECT emp.id, emp.name FROM employee_final emp) AND e.sno = 120 ;
但由于 hive 不支持这种结构,所以我尝试了这个:
DELETE FROM employee WHERE
id IN ( SELECT emp.id FROM employee_final AS emp )
AND
name IN ( SELECT emp.name FROM employee_final AS emp )
AND e.sno = 120 ;
但 hive 似乎有一个限制,它只支持 1 个子查询,我遇到了这样的异常
错误消息:语法不正确的 SQL 查询:];嵌套的 异常是 org.apache.hive.service.cli.HiveSQLException: Error while 编译语句:失败:SemanticException [错误 10249]:行 1:185 不支持的子查询表达式“名称”:只有 1 个子查询 支持表达式。
处理这个问题最有效的方法是什么。
【问题讨论】:
标签: hive subquery in-subquery