2015-06-03 49 views
0

嗨我有两个表和连接后我想插入数据到第三个表。我面临的问题是我必须根据Join的值创建多个记录。使用Hive中的连接插入数据

Table 1 
A  B 
------- 
1  X 
2  y 
3  x 

Table 2 
A  C 
------- 
1  Y 
2  N 
3  Y 

我需要加入表1和上列的表2和基于列C的值在表2 I需要插入记录在表3中 规则 如果列C值是“Y”,然后插入3条记录为“红”,“绿”,“兰” 如果列C值是“N然后插入2条为‘白’,”黑”

所以结果应该是

Table 3 
A  D 
----------- 
1  Red 
1  Green 
1  Blue 
2  White 
2  Black 
3  Red 
3  Green 
3  Blue 

灿你让我知道如何实现这个使用hiveql?由于

+0

我不知道表1中的B列。你能澄清为什么在这里需要连接吗? –

+0

因为我依靠表2中列C的值。表1没有它 – jigarshah

回答

0

你可以因为你不使用创建第三个表颜色

Table Color 
------------------ 
Flag Color 
Y Red 
Y Blue 
Y Green 
N White 
N Black 

现在为什么你需要在这里做一个连接,你可以很容易地加入他们

Select * from Table1 T1 
JOIN Table2 T2 
    ON T1.A = T2.C 
JOIN COLOR C 
    ON T2.C = C.Flag