我试图在 where 子句中运行多个子查询,但是我遇到了下面的错误。这是意味着Hive不支持吗?如果不支持,有没有其他方法可以编写下面的查询?
如果我像这样编写代码:
SELECT *
FROM ide_test.flights
WHERE carrier_code IN
(
SELECT carrier_code
FROM ide_test.flights
WHERE year >1
);
我将得到
[错误 10249]: 第6行第12列不支持的子查询表达式'carrier_code':子查询不能使用表别名:flights;这也是外部查询中的一个别名,并且子查询包含未限定的列引用
如果我像这样写,除了子查询或外部查询表的名称后面加上“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
);
然后它就工作了