SQL字符串拼接FOR XML PATH
2024-09-06 00:52:58
在工作中难免会遇到数据库中数据要进行拼接的问题,字符串拼接可以是用SQL的拼接也可以使用C#的拼接,本次说的是使用SQL进行拼接。
首先插入测试语句:
--测试语句,准备创建表的语句:如下
CREATE TABLE dbo.test3
(
id int IDENTITY(1,1) NOT NULL PRIMARY KEY NONCLUSTERED,
typeid nvarchar(50) NULL,
typeName nvarchar(50) NULL
);
CREATE UNIQUE CLUSTERED INDEX idx3_id
ON dbo.test3(id);
--插入测试数据
INSERT INTO dbo.test3(typeid,typeName) VALUES('S1', '一班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S1', '二班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S1', '三班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S2', '一班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S2', '二班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S3', '三班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S3', '四班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S3', '五班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S3', '六班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S4', '一班');
INSERT INTO dbo.test3(typeid,typeName) VALUES('S4', '二班');
查询结果如下:
比如,现在的需求是,我想知道每个阶段(S1为第一阶段)有哪些班级,上图肯定有点乱,如果能每一阶段显示一条数据就好了。
select b.typeid,left(b.list,LEN(b.list)-1) from (select typeid,(select typeName+' ,' from test3
where a.typeid=typeid--比对条件,如果缺少则每条都相同
FOR XML PATH('')) as list
from test3 a
group by typeid
)b
执行结果如下:
至此,就看出,使用sql for xml path很简单就能拼接出想要的结果来,何乐而不为呢。
最新文章
- [转]C#常用开源类库收集
- [NOIP2010] 提高组 洛谷P1514 引水入城
- Android Keycode详解
- 鸟哥的linux私房菜学习记录之档案权限与目录配置
- 【h5-egret】深入浅出对象池
- Linux时间设置
- native跟volatile
- Thinkphp 文本编辑器
- php后台判断ajax请求
- 面试之MySQL基本命令
- Spring与Quartz的整合实现定时任务调度(转)
- 2017 清北济南考前刷题Day 3 morning
- 背水一战 Windows 10 (110) - 通知(Tile): secondary tile 模板之基础, secondary tile 模板之文本
- eclipse java ee ide 配置
- C语言递归函数讲解
- 洛谷P3233 世界树 [HNOI2014] 虚树
- Linux内核启动分析笔记
- 你应该抓紧学习Python,它是开发Web应用最强大的语言
- W3CSchool CSS学习简记
- 第一章:走近java-深入理解java虚拟机-读书总结
热门文章
- Unit3-窝窝社交圈
- Codeforces Round #561 (Div. 2) A Tale of Two Lands 【二分】
- 全网最完整的Redis入门指导
- 非线性规划的Matlab 解法
- 01 . MongoDB简介及部署配置
- C#结构体struct -0029
- Redis Wendows安装步骤
- git提交时报错:Updates were rejected because the tip of your current branch is behind
- Python3-hashlib模块-加密算法之安全哈希
- web之robots.txt