相关疑难解决方法(0)

红移.将逗号分隔的值转换为行

我想知道如何将逗号分隔的值转换为Redshift中的行.我担心我自己的解决方案不是最优的.请指教.我有一个表与其中一个具有逗号分隔值的列.例如:

我有:

user_id|user_name|user_action
-----------------------------
1      | Shone   | start,stop,cancell...
Run Code Online (Sandbox Code Playgroud)

我想看看

user_id|user_name|parsed_action 
------------------------------- 
1      | Shone   | start        
1      | Shone   | stop         
1      | Shone   | cancell      
....
Run Code Online (Sandbox Code Playgroud)

amazon-redshift

27
推荐指数
2
解决办法
1万
查看次数

将值拆分为多行

可能重复:
将逗号分隔的字符串转换为单独的行

我有一个存储过程的以下输出,并想知道将值拆分为多行的最佳方法.

reference   name                            subjects       subjectstitle
LL9X81MT    Making and Decorating Pottery   F06,F27,F38       NULL
Run Code Online (Sandbox Code Playgroud)

我需要在逗号处修剪主题字段并将信息复制到三行,以便数据如下所示.

reference   name                            subjects       subjectstitle
LL9X81MT    Making and Decorating Pottery   F06       NULL
LL9X81MT    Making and Decorating Pottery   F27       NULL
LL9X81MT    Making and Decorating Pottery   F38       NULL
Run Code Online (Sandbox Code Playgroud)

我正在使用MS SQL Server 2008来设置这些SP,并且需要一些关于如何分割主题字段的帮助.

谢谢,

sql sql-server stored-procedures sql-server-2008

6
推荐指数
2
解决办法
5万
查看次数

Redshift将单个动态列拆分为新表中的多行

有一个像这样的表:

       uid               |            segmentids
-------------------------+----------------------------------------
 f9b6d54b-c646-4bbb-b0ec | 4454918|4455158|4455638|4455878|4455998
 asd7a0s9-c646-asd7-b0ec | 1265899|1265923|1265935|1266826|1266596
 gd3355ff-cjr8-assa-fke0 | 2237557|2237581|2237593
 laksnfo3-kgi5-fke0-b0ec | 4454918|4455158|4455638|4455878
Run Code Online (Sandbox Code Playgroud)

如何使用以下命令创建新表:

      uid               |         segmentids
-------------------------+---------------------------
 f9b6d54b-c646-4bbb-b0ec |           4454918
 f9b6d54b-c646-4bbb-b0ec |           1265899
 f9b6d54b-c646-4bbb-b0ec |           2237557
 f9b6d54b-c646-4bbb-b0ec |           4454918
 f9b6d54b-c646-4bbb-b0ec |           4454918
 asd7a0s9-c646-asd7-b0ec |           1265899
 asd7a0s9-c646-asd7-b0ec |           1265923
 asd7a0s9-c646-asd7-b0ec |           1265935 
 asd7a0s9-c646-asd7-b0ec |           1266826
 asd7a0s9-c646-asd7-b0ec |           1266596
Run Code Online (Sandbox Code Playgroud)

细分的数量是动态的,可以随每条记录而变化.我尝试使用带分隔符的Split函数,但它需要string中的索引,这里是动态的.

有什么建议?

sql amazon-redshift

0
推荐指数
1
解决办法
2172
查看次数