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 ...
随机推荐
- 【JUC】JDK1.8源码分析之LockSupport(一)
一.前言 最开始打算分析ReentrantLock,但是分析到最后,发现离不开LockSuport的支持,所以,索性就先开始分析LockSupport,因为它是锁中的基础,是一个提供锁机制的工具类,所 ...
- 局部打印插件 jquery.PrintArea.js
(function ($) { var printAreaCount = 0; $.fn.printArea = function () { var ele = $(this); var idPref ...
- 基于Hadoop生态技术构建阿里搜索离线系统
一.计算平台架构 平台架构 集群规模 集群特点 二.支撑的搜索业务 搜索业务 处理流程 三.YARN计算平台 iStream计算模型 Schedule改进 AppHistoryServer改进 HSt ...
- 【原创】轻量级即时通讯技术MobileIMSDK:Android客户端开发指南
申明:MobileIMSDK 目前为个人维护的原创开源工程,现陆续整理了一些资料,希望对需要的人有用.如需与作者交流,见文章底签名处,互相学习. MobileIMSDK开源工程的代码托管地址请进入 G ...
- iOS学习笔记——键盘处理
在网上找到的资料比较零散,这部分学起来感觉也有点空虚,内容就只包括隐藏键盘和键盘高度两部分 隐藏键盘其实就在我学习iOS开发的第一个程序里面已经实践过了,不过当时还懵懵懂懂,现在就了解了是什么一回事, ...
- html的留言板制作(js)
这次留言板运用到了最基础的localstorage的本地存储,展现的效果主要有: 1.编写留言2.留言前可以编辑自己的留言昵称.不足之处: 1.未能做出我喜欢的类似于网易的叠楼功能. 2.未能显示评论 ...
- 一款css3很美的iphone注册表单样式
代码如下,保存到html文件打开: <!DOCTYPE html> <html lang=""> <head> <title>Ani ...
- struts2的action是多例,servlet是单例
struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的 属性不一样,操作得出的 ...
- header('Location:'.C('VIP_HX').'/CmdId/'.$CmdId.'/user_id/'.$user_id.'/Token/'.$Token);
利用header函数做跳转,跳转至C('VIP_HX')配置文件中VIP_HX的地址下,携带参数CmdId 值为 $CmdIduser_id 值为 $user_idToken 值为 $Token th ...
- C++_系列自学课程_第_6_课_bitset集_《C++ Primer 第四版》
在C语言中要对一个整数的某一个位进行操作需要用到很多的技巧.这种情况在C++里面通过标准库提供的一个抽象数据类型 bitset得到了改善. 一.标准库bitset类型 1.bitset的作用 bits ...