SQL将不定长的行展开为列的方法

    xiaoxiao2023-10-25  167

    在开发ETL的过程中,有时候会有如下的场景,需要将如下所示的表1

    idvalue1红,黄,蓝2白,黄

    展开为如下的格式表2:

    idvalue1红1黄1蓝2白2黄

     

    也就是说,表1中的value列,是一些由逗号分割的值,需要将它们用逗号分割开,依次展开。

    将表1展开的方法如下。

    select a.id, item from ( select * from table1 ) a lateral view explode(split(a.v,',')) table1 as item

     

    最新回复(0)