2017-01-22 130 views
1

我有以下表Emp蜂窩組成的僱員連同其監事的一個特定的公司。我們知道,主管也是員工,甚至他們上面有主管。蜂巢嵌套查詢

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

我需要寫一個蜂巢查詢,找出員工的上司(一)即(b)及(B)即(C)的監事。 我嘗試使用下面的查詢,但它拋出了一個錯誤。

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

誰能幫我這個

+0

查詢返回什麼錯誤? –

回答

1

我希望這個查詢的工作:(唯一真正的變化是字符串常量的單引號)

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

如果Hive對WHERE子句中的子查詢有限制,只需使用JOIN

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