我想从这样的表创建一个视图:
表中的示例:
cola column1
-------------------
D1 val1, val2
D3 val3
预期结果进入视图:
cola column1
-------------------
D1 val1
D1 val2
D3 val3
我想划分column1的值并创建一个新行,但保留其他列的值。
答案 0 :(得分:2)
只是聚合到数组并且不需要它:
t=# with c(cola,c1) as (values('d1','v1,v2'),('d2','v3'))
select cola,unnest(string_to_array(c1,',')) column1 from c;
cola | column1
------+---------
d1 | v1
d1 | v2
d2 | v3
(3 rows)
来自:
t=# with c(cola,c1) as (values('d1','v1,v2'),('d2','v3'))
select * from c;
cola | c1
------+-------
d1 | v1,v2
d2 | v3
(2 rows)