经典实例-sqlserver2008201203231005

转载 2012年03月23日 10:10:54

某表tb,一列a
a
str1
str2
str3
str4
str5
str6
str7
str8
....
想把每两行的字符串连接起来,如
a
str1str2
str3str4
str5str6
......

再求高手

最佳答案1:

create table tb(a varchar(10))
insert into tb values('str1')
insert into tb values('str2')
insert into tb values('str3')
insert into tb values('str4')
insert into tb values('str5')
insert into tb values('str6')
insert into tb values('str7')
insert into tb values('str8')
go

select a = replace(stuff((select ',' + a from
(
 
select t.* , px = (row_number() over(order by a) - 1)/2 from tb t
) m
where m.px = n.px for xml path('')) , 1 , 1 , ''),',','')
from
(
 
select t.* , px = (row_number() over(order by a) - 1)/2 from tb t
) n
group by px

drop table tb

/*
a
------------
str1str2
str3str4
str5str6
str7str8

(4 行受影响)
*/

 

最佳答案2:

create table tb(a varchar(10))
insert into tb values('str1')
insert into tb values('str2')
insert into tb values('str3')
insert into tb values('str4')
insert into tb values('str5')
insert into tb values('str6')
insert into tb values('str7')
insert into tb values('str8')
go

--创建函数解决:
create function dbo.f_str(@px int) returns varchar(1000)
as
begin
 
declare @str varchar(1000)
 
select @str = isnull(@str , '') + cast(a as varchar) from (select t.* , px = (((select count(1) from tb where a < t.a) + 1) - 1)/2 from tb t) m where px = @px
 
return @str
end
go


--调用函数
select dbo.f_str(px) a from
(
 
select t.* , px = (((select count(1) from tb where a < t.a) + 1) - 1)/2 from tb t
) m
group by px

drop function dbo.f_str

drop table tb

/*

a                    
----------------------
str1str2
str3str4
str5str6
str7str8

(所影响的行数为 4 行)
*/

javascript--经典实例锦集

一,javascript动态显示: 如显示效果上图所示: 如图显示鼠标放在百度谷歌等字样上市动态显示其内容明细:代码如下: head> title>/title> scr...
  • shan1774965666
  • shan1774965666
  • 2015年01月26日 14:37
  • 2726

JavaScript经典实例.pdf 免费下载

下载地址: JavaScript经典实例.pdf
  • jiongyi1
  • jiongyi1
  • 2018年01月19日 23:11
  • 78

JavaScript 经典实例日常收集整理(常用经典)

跨浏览器添加事件 ? 1 2 3 4 5 6 7 8 //跨浏览器添加事件 function ...
  • daimomo000
  • daimomo000
  • 2017年04月07日 16:03
  • 609

PHP经典实例读书笔记 (类和对象)

PHP经典实例读书笔记 (类和对象)PHP经典实例读书笔记 类和对象 0x07类和对象 类的构造函数 析构函数对象删除时调用 定义对象字符串化 接口抽象类与方法访问修饰符 trait 对象的赋值 引...
  • s502414680
  • s502414680
  • 2017年06月24日 19:34
  • 456

O'Reilly:ADO.NET3.5经典实例(奋斗的小鸟)_PDF 电子书

下载地址:
  • tjoy2005
  • tjoy2005
  • 2013年10月09日 14:08
  • 2003

C#精粹,一本都不能少

C#与.NET框架,入门 + 进阶 + 精通,外加并发编程实例,8本C#图书,一本都不能少。...
  • turingbooks
  • turingbooks
  • 2015年06月18日 09:17
  • 2433

Loadrunner经典测试实例((上)

DiscuzNT3正式版发布已经有一段时间了,最近半年多来很少再写关于这个产品的技术文章了,一是时间,二是精力有限。不过在正式版发表之后,倒是有了些功夫,同时我们的一个商业客户在从2.6版本升级到3....
  • lykangjia
  • lykangjia
  • 2017年02月09日 15:06
  • 347

Singleton单例模式的经典实现

/** * 单例模式Demo * * 单例模式是指的什么意思? * * 我们自己定义的类,其实默认情况下,都是可以让外界的代码随意创建任意多个实例的 * 但是有些时候,我们不希望外界来...
  • u013821825
  • u013821825
  • 2017年04月07日 22:36
  • 230

几个经典的动态规划的算法

列举几个动态规划经典的算法
  • jpbj_zb
  • jpbj_zb
  • 2016年05月05日 09:25
  • 5079

闭包的两个经典例子

1.    下面这段代码想要循环延时输出结果0 1 2 3 4,请问输出结果是否正确,如果不正确,请说明为什么,并修改循环内的代码使其输出正确结果 for (var i = 0; i < 5; +...
  • linyeban
  • linyeban
  • 2017年02月14日 19:40
  • 301
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:经典实例-sqlserver2008201203231005
举报原因:
原因补充:

(最多只允许输入30个字)