Я пытался запустить запрос, как это на улье (версия 1.2.1):Hive: Multiple In-элементов с одним подзапроса
DELETE FROM работника при е WHERE (e.id, e.name) IN (SELECT emp.id, emp.name FROM employee_final emp) И e.sno = 120;
Но поскольку улья не поддерживает эту конструкцию, так что я попытался это:
DELETE FROM WHERE сотрудника идентификатора (SELECT emp.id FROM employee_final AS ого) И имя IN (SELECT ого. имя FROM employee_final AS emp)
И e.sno = 120;
Но, кажется, есть ограничение в улье и поддерживает только один подзапрос, и я получаю исключение, как этот
Сообщение об ошибке: Грамматический неправильно SQL запросов:]; Вложенное исключение - org.apache.hive.service.cli.HiveSQLException: Ошибка при компиляции оператора: FAILED: SemanticException [Ошибка 10249]: Строка 1: 185 Неподдерживаемая SubQuery Expression 'name': поддерживается только 1 выражение SubQuery.
Что является наиболее эффективным способом решения этой проблемы.
функция CONCAT полезно только в том случае, когда один из столбцов является первичным ключом таблицы. Это гарантирует уникальность. –
Вам не нужен первичный ключ для того же – Sanjiv