SQL求助:如何拆分多值列并返回唯一值?
解决SQL拆分多值列并提取唯一值的问题
你的原语句存在两个问题:
- 未对拆分后的值做去重处理,重复值会被多次返回
- 使用
select *会同时返回原表的Column列和拆分后的value列,不符合仅保留唯一值的需求
修正后的SQL语句如下:
SELECT DISTINCT cs.value AS Column FROM dbo.Test t CROSS APPLY string_split(t.Column, ',') cs
说明:
string_split函数拆分后返回的列名为value,这里指定选取该列并别名成你需要的ColumnDISTINCT关键字会自动过滤拆分后产生的重复值,最终得到所有唯一的拆分结果
执行该语句后,即可得到你期望的输出:
| Column |
|---|
| First |
| Second |
| Third |
| Four |
内容的提问来源于stack exchange,提问作者Hoang Minh
相关产品推荐
相关产品推荐

