2014-01-06 56 views
1

File1中:标识文件与蜂房工作联接

id interests_code 
1   1,2 
2   2,3 
3   1,4 

文件2:兴趣文件

1 Football 
2 Cricket 
3 Baseball 
4 Hockey 

在这里,在File1中,列interests_code是元素(数组)的数组,我想创建一个输出文件为,

id interests 
1  Football,Cricket 
2  Cricket,Baseball 
3  Football,Hockey 

是否可以在另一个表的数组的列上进行联接?

回答

1

你最好规范你的数据库设计。

但如果你想从当前的表结构得到结果,请尝试:

SELECT t1.id, GROUP_CONCAT(t2.interest) AS interests 
FROM id_file t1 
LEFT JOIN interests_file t2 ON FIND_IN_SET(t2.id, t1.interests_code) 
GROUP BY t1.id 
+1

大..!这里是演示网址:http://sqlfiddle.com/#!2/f9fb3/2 –

+0

但我已经尝试提交HIVE中的查询,但它看起来像函数GROUP_CONCAT不可用HIVE中。但是我遇到了COLLECT_SET。我试图用这个来达到同样的效果。任何帮助! – user3164854