我有employee表,其员工ID为int,员工姓名为字符串,department id为整数数据类型的数组作为列。下面给出了Employee表的记录。
employee5.empid employee5.empname employee5.deptid
1 Emp1 [2,3,1,4]
2 Emp2 [5,2,3,4]
3 Emp3 [1,4,2,3]
4 Emp4 [5,3,4,1]
5 Emp5 [1,2,3,4]
6 Emp6 [5,3,1,2]
7 Emp7 [3,2,4,5]
8 Emp8 [1,4,2,3]
9 Emp9 [5,2,3,1]
10 Emp10 [2,4,3,5]
我也有部门表,其部门ID为int,部门名称为字符串,部门位置为字符串列。以下是department表的记录。
department.deptid department.deptname department.location
1 IT Delhi
2 Support Bangalore
3 HR Pune
4 Finance Mumbai
5 Call Center Mysore
由于我是蜂巢的新手,请帮助我使用蜂巢连接显示员工姓名和相应的部门。提前谢谢。
我没有测试过,这可能会起作用。
首先,您需要将数组分解为多行然后需要连接,我认为这不是一种直接的连接方式。
select * from
(select empid, empname, dept_id from employee5 lateral view explode(deptid) d as dept_id) emp
join
department
on
department. deptid = emp.dept_id