我有以下模式的蜂巢表:蜂巢爆炸/側視多個陣列
COOKIE | PRODUCT_ID | CAT_ID |數量
1234123 [1,2,3] [R,T,空] [2,1,空]
我怎樣才能正常化陣列,所以我得到以下結果
COOKIE | PRODUCT_ID | CAT_ID | QTY
1234123 [1] [R] [2]
1234123 [2] [T] [1]
1234123 [3]空空
我曾嘗試以下:
select concat_ws('|',visid_high,visid_low) as cookie
,pid
,catid
,qty
from table
lateral view explode(productid) ptable as pid
lateral view explode(catalogId) ptable2 as catid
lateral view explode(qty) ptable3 as qty
但是結果是作爲笛卡兒積產生的。
謝謝,這工作完美。 – user2726995
@Jerome ..這將能夠工作,如果陣列是不同的大小..? –
我不確定不同的陣列大小是否合理。那麼你將不得不檢查n是否比當前數組大。就像是 。 SELECT cookie,IF(n> = size(array1),array_index(array1,n),null),IF(n> = size(array2),array_index(array2,n)..... –