sql server多行数据拼接的实例方法
更新时间:2013年04月26日 15:40:42 作者:
sql server多行数据拼接的实例方法,需要的朋友可以参考一下
1.表结构
id type productCode
1 铅笔 0001
2 铅笔 0002
3 铅笔 0003
4 钢笔 0004
5 钢笔 0005
6 钢笔 0004
7 圆珠笔 0007
8 圆珠笔 0008
9 圆珠笔 0007
2.自定义函数fun
GO
/****** Object: UserDefinedFunction [dbo].[fun] Script Date: 11/22/2011 16:09:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create function [dbo].[fun](@type nvarchar(10))
returns nvarchar(200)
as
begin
declare @re nvarchar(200)
declare @code nvarchar(200)
set @re=''
set @code=''
select @re=@re+productCode+',' from T where type=@type group by productCode
select @re=left(@re, len(@re)-1)
return @re
end
3.查询语句
select type,dbo.fun(type) from (select distinct type from T) A
结果:
钢笔 0004,0005
铅笔 0001,0002,0003
圆珠笔 0007,0008
id type productCode
1 铅笔 0001
2 铅笔 0002
3 铅笔 0003
4 钢笔 0004
5 钢笔 0005
6 钢笔 0004
7 圆珠笔 0007
8 圆珠笔 0008
9 圆珠笔 0007
2.自定义函数fun
复制代码 代码如下:
GO
/****** Object: UserDefinedFunction [dbo].[fun] Script Date: 11/22/2011 16:09:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create function [dbo].[fun](@type nvarchar(10))
returns nvarchar(200)
as
begin
declare @re nvarchar(200)
declare @code nvarchar(200)
set @re=''
set @code=''
select @re=@re+productCode+',' from T where type=@type group by productCode
select @re=left(@re, len(@re)-1)
return @re
end
3.查询语句
select type,dbo.fun(type) from (select distinct type from T) A
结果:
钢笔 0004,0005
铅笔 0001,0002,0003
圆珠笔 0007,0008
相关文章
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
SQLServer中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们并没有注意,其实这两种方式还是有很多差别的。2011-04-04
在SQL Server中使用 Try Catch 处理异常的示例详解
这篇文章主要介绍了如何在 SQL Server 中使用 Try Catch 处理异常,通过实例代码了解 SQL Server 中的 Try-Catch 实现,本文给大家介绍的非常详细,需要的朋友可以参考下2022-07-07
mssql insert into 和insert into select性能比较
今天没事,测了一下insert into和insert into select的性能,没想到这两个性能差别这么大。2010-03-03


最新评论