经典实例-sqlserver2008201203231005
来源:互联网 发布:赵薇收购万家文化知乎 编辑:程序博客网 时间:2024/05/16 14:09
某表tb,一列a
a
str1
str2
str3
str4
str5
str6
str7
str8
....
想把每两行的字符串连接起来,如
a
str1str2
str3str4
str5str6
......
再求高手
最佳答案1:
create table tb(avarchar(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(orderby a) - 1)/2from tb t
) m where m.px= n.px for xml path('')) ,1 ,1 ,''),',','')
from
(
select t.* , px= (row_number()over(orderby a) - 1)/2from tb t
) n
group by px
drop table tb
/*
a
------------
str1str2
str3str4
str5str6
str7str8
(4 行受影响)
*/
最佳答案2:
create table tb(avarchar(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(@pxint) returns varchar(1000)
as
begin
declare @str varchar(1000)
select @str =isnull(@str ,'') + cast(aas varchar)from (select t.* , px= (((selectcount(1)from tb where a < t.a)+ 1)- 1)/2from tb t) mwhere px = @px
return @str
end
go
--调用函数
select dbo.f_str(px) afrom
(
select t.* , px= (((selectcount(1)from tb where a < t.a)+ 1)- 1)/2from tb t
) m
group by px
drop function dbo.f_str
drop table tb
/*
a
----------------------
str1str2
str3str4
str5str6
str7str8
(所影响的行数为 4 行)
*/
- 经典实例-sqlserver2008201203231005
- 经典实例
- Tomcat_JSP经典配置实例
- java多线程经典实例
- javascript经典代码实例
- 存储过程经典实例
- java多线程经典实例
- BPEL 经典实例入门教程
- Java反射经典实例
- java经典实例
- Java反射经典实例
- LINQ的经典实例
- dephi编程经典实例
- Java经典反射实例
- Clementine使用经典实例
- Java反射经典实例
- Java反射经典实例
- java反射经典实例
- android的日积月累-进行WIFI,CMWAP和CMNET的自动判断访问
- linux超级终端minicom设置
- weblogic10.3.4与应用 jar包冲突 java.lang.NoSuchMethodError
- 实现Myxls设置行高的功能
- dom4j生成XML文档及解析
- 经典实例-sqlserver2008201203231005
- Android 设置环境出现Java not found in your path的解决办法
- AS3 的BitmapData的setPixel与getPixel时,值不相同。
- 积分
- selenium webdriver常用操作方法
- Eclipse快捷方式大全
- 学习Bash Shell
- 将inkPresenter中的涂鸦保存图片至本地媒体库
- 怎样创建SVN 的分支