表A中id与表B中aid为一对多的关系 例如: 表A: id name a1 tom a2 lily a3 lucy 表B: id aid value b1 a1 B1 b2 a1 B2 b3 a2 B3 b4 a3 B4 b5 a2 B5 b6 a3 B6 b7 a3 B7 使用for xml path('') 和stuff合并显示多行数据到一行中   : 第一种,不使用stuff,结果如下: select id, [val]=( select [value] +',' from tb as…
有表结构如下: 这时,要求显示所有学生的爱好的结果集,代码如下: ) as hobby FROM ( SELECT name, (SELECT hobby+',' FROM student WHERE name=A.name FOR XML PATH('')) AS StuList FROM student A GROUP BY name ) B 结果: 因为有特殊字符,所以转义了,不转义使用   ,TYPE).value('.','NVARCHAR(MAX)'),如下: ) as hobby…
老规矩,先弄一波测试数据,数据填充代码没有什么意义,先折叠起来: /* 第一步:创建临时表结构 */ CREATE TABLE #Student --创建临时表 ( StuName ), --学生名称 Chinese int, Math int, English int ) DROP TABLE #Student --删除临时表 SELECT * FROM #Student --查询所有数据 ,,); ,,); ,,); ,,); 一:列转行,下面是转换之前与之后的截图对比 如果想要行转列,参考…
http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep_c…
转自http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep…
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep_classes      ep_name AAA             企业1,企业2,企业3 BBB  …
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep_classes      ep_name AAA             企业1,企业2,企业3 BBB  …
项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/details/7745972 写的还不错. 我写的如下(存储过程中): select (STUFF((select '';''+ywmc from JB_TNB_HZ_YYQK where XT_JLZT =''0'' and SFLSH=a.lsh for xml path('''')),1,1,'''…
SQL Server获取指定行(如第二行)的数据   --SQL Server获取指定行(如第二行)的数据-- --法一(对象法)-- select * from ( select * , number = row_number() over(order  by Grade desc) from Students  )  m where number = 2 --法二(排除法)--- select top 1 * from Students where Grade not in ( select…
原文:通过DBCC Page查看在SQL Server中哪行数据被锁住了? 如何查看被锁的是哪行数据?通过dbcc page可以. 要想明白这个问题: 首先,需要模拟阻塞问题,这里直接模拟了阻塞问题的一个比较极端的情况,就是死锁. 然后,需要知道如何监控死锁,否则,就算产生了死锁,你也不一定知道.这里在模拟死锁之前,通过SQL Profiler先来监控死锁问题. 接下来,我们可以通过sys.dm_tran_locks来获取更详细的阻塞信息. 最后,通过dbcc page来解析哪一行数据被锁住了.…