在工作中难免会遇到数据库中数据要进行拼接的问题,字符串拼接可以是用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很简单就能拼接出想要的结果来,何乐而不为呢。

最新文章

  1. [转]C#常用开源类库收集
  2. [NOIP2010] 提高组 洛谷P1514 引水入城
  3. Android Keycode详解
  4. 鸟哥的linux私房菜学习记录之档案权限与目录配置
  5. 【h5-egret】深入浅出对象池
  6. Linux时间设置
  7. native跟volatile
  8. Thinkphp 文本编辑器
  9. php后台判断ajax请求
  10. 面试之MySQL基本命令
  11. Spring与Quartz的整合实现定时任务调度(转)
  12. 2017 清北济南考前刷题Day 3 morning
  13. 背水一战 Windows 10 (110) - 通知(Tile): secondary tile 模板之基础, secondary tile 模板之文本
  14. eclipse java ee ide 配置
  15. C语言递归函数讲解
  16. 洛谷P3233 世界树 [HNOI2014] 虚树
  17. Linux内核启动分析笔记
  18. 你应该抓紧学习Python,它是开发Web应用最强大的语言
  19. W3CSchool CSS学习简记
  20. 第一章:走近java-深入理解java虚拟机-读书总结

热门文章

  1. Unit3-窝窝社交圈
  2. Codeforces Round #561 (Div. 2) A Tale of Two Lands 【二分】
  3. 全网最完整的Redis入门指导
  4. 非线性规划的Matlab 解法
  5. 01 . MongoDB简介及部署配置
  6. C#结构体struct -0029
  7. Redis Wendows安装步骤
  8. git提交时报错:Updates were rejected because the tip of your current branch is behind
  9. Python3-hashlib模块-加密算法之安全哈希
  10. web之robots.txt