博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLSqlserver中如何将一列数据,不重复的拼接成一个字符串
阅读量:7012 次
发布时间:2019-06-28

本文共 494 字,大约阅读时间需要 1 分钟。

把一列数据拼接成一个字符串比较简单:

declare @test varchar(500)set @test='';select @test=@test+name+',' from personselect @test

但是如果数据中有重复选项,想去掉重复的就比较绕弯了。

declare @test varchar(500)set @test='';select distinct @test=@test+name+',' from personselect @test

加distinct是不行的,我在sql server 2008 版本测试起码是不行的,只显示了第一行的数据。

绕弯一下:

declare @test varchar(500)set @test='';with cte as(select distinct name+',' as namefrom person)select @test=@test+name from cte select @test

其实这个思路下,用临时表,表变量什么的都可以,但是用CTE比较简洁。看来公用表表达式(CTE)有时候挺有用的。

转载地址:http://ppqtl.baihongyu.com/

你可能感兴趣的文章
阿里云数加大数据计算服务MaxCompute学习路线图 (持续更新中)
查看>>
聊聊springcloud的GatewayControllerEndpoint
查看>>
聊聊sentinel的SentinelResourceAspect
查看>>
聊聊flink的SpoutWrapper
查看>>
聊聊flink的StateDescriptor
查看>>
git 使用教程,常用命令
查看>>
Android view事件分发初步
查看>>
使用SVI实现Vlan间路由
查看>>
Linux学习笔记5月28日任务
查看>>
解决Td内容为空时不显示边框的问题-兼容IE、firefox、chrome
查看>>
SylixOS x86中断探测(二)
查看>>
HDFS总结
查看>>
scala 中导出excel
查看>>
悬浮框保证在中间js
查看>>
Nginx负载均衡算法
查看>>
Linux的目录结构
查看>>
linux基础命令
查看>>
Nginx服务器
查看>>
7月技术指标
查看>>
各个数据库的扩展名/格式/后缀
查看>>