Я пытался выполнить такой запрос в улье (версия 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 ;
Но поскольку улей не поддерживает эту конструкцию, я попробовал следующее:
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 ;
Но похоже, что в улье есть ограничение, и он поддерживает только 1 подзапрос, и я получаю подобное исключение
Сообщение об ошибке: Грамматически неверный запрос SQL:]; вложенное исключение - org.apache.hive.service.cli.HiveSQLException: Ошибка при компиляции оператора: FAILED: SemanticException [Ошибка 10249]: Строка 1: 185 Неподдерживаемое выражение подзапроса «имя»: поддерживается только 1 выражение подзапроса.
Как лучше всего справиться с этой проблемой.