我试图在 hive (version 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:编译语句时出错:FAILED:SemanticException [错误 10249]:第 1:185 行不支持子查询表达式“名称”:仅支持 1 个子查询表达式。
处理这个问题的最有效方法是什么。