我遇到一种情况,我需要联接多个表(table1,table2,table3)并拉一些字段,例如
计数(表2上的ID)
Concat(表3上的姓名,地址,电话)
表1和表2具有一对多关系。
Table2和Table3具有一对一的关系
表1是驱动程序表
表1看起来像
CaseID, BAL, SAL
123, 10K, 15K
TABLE2看起来像
CASEID ID branch
123 1 cse
123 2 ece
123 3 xyz
123 4 fgh
表3看起来像
ID,name,phone,address
1, car,709809,add1
2, plane, 6780090, addr2
3, cycle,576483,addr3
4,bike,65680,addr4
我需要的输出是
CaseID Count(ID)Full_Details
123 4 1,car,709809,add1|2, plane, 6780090, addr2|3, cycle,576483,addr3|4,bike,65680,addr4.
我正在IMPALA中使用group_contact函数派生Full_Details,但是group_contact函数在Hive中不起作用,而Hive中的collect_list函数在IMPALA中不起作用。我需要一种在HIVE和IMPALA中都可以使用的方法。