横向不稳定给了我一点麻烦。
我有一张桌子
看起来像是:
Name | Info
------|------
A | Info1, Info2, Info3
B | Info1, Info 2, Info3
我希望它看起来像是:
Name | Info
------|------
A | Info1
A | Info2
A | Info3
B | Info1
B | Info2
B | Info3
里面还有几列。我想都留着。
有什么想法吗?
最佳答案
如果要使用unnest()
:
select t.name, trim(i) as info
from t cross join lateral
unnest(string_to_array(t.info, ',')) i;
您不需要使用
unnest()
,因为您可以直接拆分到一个数组:select t.name, trim(i) as info
from t cross join lateral
regexp_split_to_table(t.info, ',') i;