2017-02-20 8 views
1

У меня есть требование, когда мне нужно взорвать varchar, чтобы получить данные на несколько строк.Как взорваться на varchar в улье

Образец данных:

1, ab cd ef 

2, ee dd 

Ожидаемый результат:

1, ab 

1, cd 

1, ef 

2, ee 

2, dd 

Пожалуйста, предложите, как мы можем добиться этого в улье.

+0

Тип данных второго столбца в таблице VarChar –

ответ

0
create table mytable (id int,mycolumn string); 

insert into mytable values 
    (1,'ab cd ef') 
    ,(2,'ee dd') 
; 

select  t.id 
      ,e.val 

from  mytable t 
      lateral view explode(split(mycolumn,' ')) e as val 
;    

+------+-------+ 
| t.id | e.val | 
+------+-------+ 
| 1 | ab | 
| 1 | cd | 
| 1 | ef | 
| 2 | ee | 
| 2 | dd | 
+------+-------+ 
+0

Благодаря для этого. –