如何通过单个查询将一行拆分为多行? [英] How to split a row into multiple rows with a single query?

查看:83
本文介绍了如何通过单个查询将一行拆分为多行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此:

column_A|column_B|column_C
a|a,b,c|b
b|a|b
c|a|c

应该最终像这样:

column_A|column_B|column_C
a|a|b
a|b|b
a|c|b
b|a|b
c|a|c

column_B具有类似数据的CSV 。

column_B has CSV like data. columns are seperated by an arbitrary character in this case a comma.

推荐答案

您应该可以结合使用 string_to_array nestest

You should be able to accomplish this with the combination of string_to_array and unnest:

SELECT column_a, unnest(string_to_array(column_b,',')), column_c 
FROM   tablename;



SQLFiddle



也就是说,您没有提供有关数据类型的足够信息,并且任意字符

这篇关于如何通过单个查询将一行拆分为多行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆