SQL Server 2008 R2——使用FOR XML PATH实现多条信息按指定格式在一行显示
=================================版权声明=================================
版权声明:原创文章 谢绝转载
请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我
勿用于学术性引用。
勿用于商业出版、商业印刷、商业引用以及其他商业用途。
本文不定期修正完善。
本文链接:http://www.cnblogs.com/wlsandwho/p/5039358.html
耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
没啥说的,鄙视那些无视版权随意抓取博文的爬虫小网站,祝你们早升极乐。
=======================================================================
直接上问题

首先,事主的提问风格我还是很喜欢的,一目了然。
但是,就实际问题来讲,是不是2条就4列?如果有100条,岂不是爆炸了?
所以,实际上事主应该是想要一个水平显示的效果,而不是一定要有很多列。
aaarticlea/png;base64,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" alt="" />
不用说我是不是瞎猜的,我就是瞎猜的。哈哈哈。
上代码。
=======================================================================
--by wls 20151211
--网络代码有风险
--复制粘贴须谨慎
USE tempdb
GO IF OBJECT_ID (N't_TestbyWLS', N'U') IS NOT NULL
DROP TABLE t_TestbyWLS;
GO CREATE TABLE t_TestbyWLS(Author NVARCHAR(9),Caption NVARCHAR(50),ReadCount INTEGER)
GO INSERT INTO t_TestbyWLS VALUES('WLS','Hello1',100)
INSERT INTO t_TestbyWLS VALUES('WLS','Hello2',100)
INSERT INTO t_TestbyWLS VALUES('thbytwo','Hello2',200)
INSERT INTO t_TestbyWLS VALUES('thbytwo','Hello1',220)
INSERT INTO t_TestbyWLS VALUES('wlsandwho','Hello1',220)
GO SELECT * FROM t_TestbyWLS
GO WITH TempCRC
AS
(
SELECT Author,caption+' '+CAST(readcount AS NVARCHAR(20)) AS CRC FROM t_TestbyWLS
)
,TempXML
AS
(
SELECT Author,(SELECT CRC+',' FROM TempCRC a WHERE a.author=b.author FOR XML PATH('') ) AS CRCXML FROM TempCRC B GROUP BY author
)
SELECT author,LEFT(crcxml,LEN(crcxml)-1) AS NewCRCXML FROM TempXML
GO
运行结果。

执行计划。

=======================================================================
千万不要吐槽我的第二个CTE,那是没办法的事情。写了这么多SQL典型例子,大家见我哪次用子查询了?真是迫不得已。
=======================================================================

(友情支持请扫描这个)
微信扫描上方二维码捐赠
SQL Server 2008 R2——使用FOR XML PATH实现多条信息按指定格式在一行显示的更多相关文章
- SQL Server 2008 R2——使用FULL OUTER JOIN实现多表信息汇总
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- 安装 SQL Server 2008 R2 的硬件和软件要求(转)
以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件 ...
- SQL Server 2008 R2 性能计数器详细列表(三)
原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Depr ...
- SQL Server 2008 R2——学习/练习/错误/总结/搜集
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- SQL Server 2008 R2 的版本和组件
SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2 其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...
- SQL Server 2008 R2 跟踪标志
原文:SQL Server 2008 R2 跟踪标志 跟踪标志用于临时设置特定服务器的特征或关闭特定行为.例如,如果启动 SQL Server 的一个实例时设置了跟踪标志 3205,将禁用磁带机的硬件 ...
- SQL Server 2008 R2 性能计数器详细列表(一)
原文:SQL Server 2008 R2 性能计数器详细列表(一) SQL Server Backup Device 计数器: 可监视用于备份和还原操作的 Microsoft SQL Server ...
- SQL Server 2008 R2 根据.asmx访问WebService
.asmx 都是.Net 同系列,所以学习的时候会比较简单. 方法一: 步骤1.在浏览器打开.asmx地址可以到方法列表, 步骤2.点进方法列表会有SOAP调用的案例, 步骤3.SQL Server ...
- 利用SQL Server 2008 R2创建自动备份计划
本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...
随机推荐
- Maven工程引入jar包
Maven项目引入jar包的方法 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add Exte ...
- 详解用Navicat工具将Excel中的数据导入Mysql中
第一步:首先需要准备好有数据的excel: 第二步:选择"文件"->"另存为",保存为"CSV(逗号分隔)(*.csv)",将exce ...
- java枚举类型学习
用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举.参考:java编程思想. Update: 枚举可以当做数据字典来存储,通常只要一个字段即instance本身,toString ...
- 分享一个基于HTML5实现的视频播放器
什么是hivideo? 最近一段时间在使用PhoneGap开发一个App应用,App需要播放视频,本想直接使用html5的video,但使用它在全屏播放时不支持横屏播放,只能放弃.最终决定还是自己封装 ...
- VS2013常用快捷键
Visual Studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.VS 2013 中新增了很多提高 ...
- Keil环境中建立带FreeRTOS的STM32L项目
本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按 ...
- Xamarin.Android之Spinner的简单探讨
一.前言 今天用了一下Spinner这个控件,主要是结合官网的例子来用的,不过官网的是把数据写在Strings.xml中的, 某种程度上,不是很符合我们需要的,比较多的应该都是从数据库读出来,绑定上去 ...
- 客户端调用 WCF 的几种方式
转载网络代码.版权归原作者所有..... 客户端调用WCF的几种常用的方式: 1普通调用 var factory = new DataContent.ServiceReference1.Custome ...
- B/S工作原理
B/S疑问 先对比C/S,在C/S中我们开发时怎么做的,是不是这样:拖控件,写方法,所有的功能基本就是这样,就像我们的机房收费系统,C/S学习完之后,我们开始B/S学习,这里我们接触的是ASP.NET ...
- Spring.Net简单用法
Spring.Net其实就是抽象工厂,只不过更加灵活强大,性能上并没有明显的区别. 它帮我们实现了控制反转. 其有两种依赖注入方式. 第一:属性注入 第二:构造函数注入 首先,我们去 Spring. ...