用逗号分隔值的列与其他列连接

时间:2021-03-10 18:33:46

标签: sql sql-server

我们有两列,我们希望使用连字符将第二列与第一列连接起来。

Col1  Col2
1     2
1,2   4,5

预期

Col1                    Col2
2-1                     2
4-1,5-1,5-2,5-2         4,5

1 个答案:

答案 0 :(得分:0)

可以做你想做的事:

select silly.col1, t.col2
from t cross apply
     (select string_agg(col1 + '-' + col2, ',') as col
      from string_split(col1, ',') s1 cross join
           string_split(col2, ',') s2
     ) silly;

但是,需要这样做表明数据模型存在问题。我建议集中精力解决这个问题。您应该拥有每行具有一个值 col1col2 的表。