首页 > 数据库 >sql查询多个结果逗号分隔为同一行显示

sql查询多个结果逗号分隔为同一行显示

时间:2023-02-24 11:23:32浏览次数:42  
标签:分隔 ctrl 逗号 STUFF sql select desc

sql查询数据结果

select e.ctrl_desc from t_ctrl_entry e inner join CodeGroupKeyCodes c on e.ctrl_code=c.KeyCode where c.GroupId='3060' and e.roomid=c.RoomId
 Group by e.ctrl_desc

 实现同一行逗号分隔显示

1、使用      FOR XML PATH ('')

这一部分已经可以实现列转行并用逗号分隔了,但是输出的是这样的格式:
,名字1,名字2,名字3

所以需要在外面再调用STUFF 的函数进行裁剪,把第一个逗号去掉,这样就可以了(下第二步)

select ','+t.ctrl_desc from (
 select e.ctrl_desc from t_ctrl_entry e inner join CodeGroupKeyCodes c on e.ctrl_code=c.KeyCode where c.GroupId='3060' and e.roomid=c.RoomId
 Group by e.ctrl_desc)t FOR XML PATH ('')

 2、使用STUFF 的函数进行裁剪第一个逗号

 select STUFF (sql语句 ,1,1, '' ) AS keycodename
 select STUFF (( 
 select ','+t.ctrl_desc from (
 select e.ctrl_desc from t_ctrl_entry e inner join CodeGroupKeyCodes c on e.ctrl_code=c.KeyCode where c.GroupId='3060' and e.roomid=c.RoomId
 Group by e.ctrl_desc)t FOR XML PATH ('')) ,1,1, '' ) AS keycodename

 

 

标签:分隔,ctrl,逗号,STUFF,sql,select,desc
From: https://www.cnblogs.com/ZhuMeng-Chao/p/17150634.html

相关文章

  • mysql数据类型以及各种语句的总结
    数据类型分类整数型,浮点型(float和double),定点数,字符串(char,varchar,text),日期时间类型,修饰符字符串(char,varchar,text)char(n)固定长度,最多255个字符,注意不是字......
  • MyBatis支持多种数据库连接(多种sql语法支持)
    1、说明这里说的多种数据库连接,是指同时支持多种Sql语法,可做到不同类型数据库使用同一套后台代码而不用改动,不是多数据源。这里有一种简单的方式可以实现,就是使用MyBatis的d......
  • 使用Alpine Linux做基础镜像备份mysql8.0+数据库
    说明本篇文章仅是基于k8scronjob备份mysql8.0+数据库,使用AlpineLinux作为基础镜像时遇到的问题做下简单的排坑,没有涉及到具体的部署细节,后面有时间再补上。镜像打包#......
  • 云原生|kubernetes|部署MySQL一主多从复制集群(基于GTID的复制)
    前言:一,MySQL的主从复制优点如下:数据更安全:做了数据冗余,不会因为单台服务器的宕机而丢失数据性能大大提升:一主多从,不同用户从不同数据库读取,性能提升扩展性更优:流量增大时,可......
  • Oracle数据库基本操作(和MySQL的类比操作)全局查询篇
                             Oracle数据库基本操作(和MySQL的类比操作)全局查询篇Oracle数据库和MySQL数据库同属关系型数......
  • ubuntu安装mysql并设置忽略大小写
    更新apt包管理sudoapt-getupdate安装mysql-serversudoapt-getinstallmysql-serverc正常情况下安装完后mysql已启动,查看mysql状态systemctlstatusmysql.se......
  • mysql 的 json 类型
    创建表DROPTABLEIFEXISTS`student`;CREATETABLE`student`(`id`int(0)NOTNULLAUTO_INCREMENTCOMMENT'表的id',`name`varchar(255)CHARACTERSETut......
  • 急速安装mysql8 in windows
    安装准备下载地址:https://dev.mysql.com/downloads/mysql/解压不赘述添加环境变量不赘述初始化安装根目录配置增加my.ini文件下面配置A=安装跟目录一般只有:b......
  • MySQL增删查改
    创建数据库createdatabase数据库名;查看数据库showdatabases;切换数据库use数据库名;创建表createtable表名(字段名  类型,字段名  类型,......);插......
  • MySQL调优
    #MySQL调优##数据库优化常见方案1.优化shema,sql语句+索引2.加缓存,memcached,redis3.主从复制,读写分离4.垂直拆分5.水平拆分为了知道怎么优化SQL,必须先清楚SQL......