hive嵌套查询

eit6fx6z  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(391)

我有下表 Emp 特定公司的雇员及其主管组成的Hive。我们知道,主管也是员工,甚至他们上面还有一个主管。

employee,Supervisor
a,b
b,c
c,d
d,e

我需要编写一个配置单元查询来找出雇员(a)即(b)的主管和雇员(b)即(c)的主管。我尝试使用下面的查询,但它是一个错误。

select *
from Emp
where employee = (select Supervisor from Emp where employee = "a");

有人能帮我解决这个问题吗

ckocjqey

ckocjqey1#

我希望这个查询能够工作:

select e.*
from Emp e
where e.employee = (select e2.Supervisor from Emp e2 where e2.employee = 'a');

(唯一真正的变化是字符串常量的单引号。)
如果配置单元对 WHERE 子句,只需使用 JOIN :

select s.*
from Emp s join
     Emp e
     on s.employee = e.supervisor
where e.employee = 'a';

相关问题