天天看点

MaxCompute SQL-列转行和行转列

今天通过两个示例来教大家如何实现列转行和行转列问题。

1. 假设我们在maxcompute中有两张表,其中一张表是存用户基本信息,另一张表是存用户的地址信息等,表数据假设如下:

user_basic_info表

id

name

1

a

2

b

3

c

 4

d

user_address表

address

add1

add2

add3

add4

add5

我们可以看到同一个用户不止一个地址(这里是假设的),我们需要把数据变为如下格式:

add1,add2

4

建表:

插入数据:

执行合并:

运行结果:

1    

  a       add1,add2

2    

  b       add3

3    

  c       add4

4    

  d       add5

2. 假设我们有一张表:

user_info表

我们需要拆分address,变为:

建表

插入数据(导入第一个实验的结果):

执行拆分:

结果为:

1       a  

    add1

1       a       add2

2       b       add3

3       c       add4

4       d       add5

MaxCompute SQL-列转行和行转列