Я пытаюсь запустить несколько подзапросов в предложении where, и я получаю сообщение об ошибке ниже. Означает ли это, что Hive не поддерживает это? Если нет, есть ли другой способ написать запрос ниже?
Если бы я написал такой код:
SELECT *
FROM ide_test.flights
WHERE carrier_code IN
(
SELECT carrier_code
FROM ide_test.flights
WHERE year >1
);
Я получу
[Ошибка 10249]: строка 6:12 Неподдерживаемое выражение SubQuery 'carrier_code': SubQuery не может использовать псевдоним таблицы: flight; это также псевдоним в Outer Query, а SubQuery содержит неквалифицированную ссылку на столбец
Если я написал так, добавьте «s» помимо имени подзапроса или таблицы внешних запросов:
SELECT *
FROM ide_test.flights
WHERE carrier_code IN
(
SELECT carrier_code
FROM ide_test.flights s
WHERE year >1
);
or
SELECT *
FROM ide_test.flights s
WHERE carrier_code IN
(
SELECT carrier_code
FROM ide_test.flights
WHERE year >1
);
Тогда это сработало