尝试使用如下子查询在Hive中运行此查询:

select y,m,d,h from A
where d not in (select d from B)

我收到一个错误"only subquery expressions that are top level conjuncts are allowed"
任何人都知道这意味着什么以及如何解决它?

提前致谢!

最佳答案

我假设您使用的 hive 版本

SELECT A.y, A.m, A.d, A.h
FROM A
LEFT OUTER JOIN B ON A.d = B.d
WHERE B.d IS NULL;

如果移至配置单元0.13,则应该可以通过以下方式使用它:
SELECT A.y, A.m, A.d, A.h FROM A WHERE A.d NOT IN (SELECT d FROM B);

关于apache - Hive中的子查询-获取错误 “only subquery expressions that are top level conjuncts are allowed”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28405367/

10-12 23:03