如何将sql行相乘

laik7k3q  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(308)

我有这张table:

ID       Value  
1        "10,20"  
2        "101,102,103"  
3        "50,60"  
4        "100,200,300"  
5        "81,82,83,84"

我想要这个:

表B

ID       Value  
1        10  
1        20  
2        101  
2        102  
2        103  
3        50  
3        60  
4        100  
4        200  
4        300  
5        81  
5        82  
5        83  
5        84

我使用的是sqlserverv18,所以我可以访问内置的 STRING_SPLIT() 功能,如果需要。

3zwjbxry

3zwjbxry1#

我错过什么了吗?你好像知道怎么用 string_split() 据我所知,没有任何其他并发症:

select t.id, s.value
from t cross apply
     string_split(value, ',') s;

你可以用 insert 或者 into 把数据放在另一个表中。
如果双引号实际上是值的一部分,则可以去掉它们:

string_split(replace(value, '"', ''), ',')

相关问题