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
相关文章
Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)
sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar之类的,接下来教大家实现让变量作为一个像虚拟表一样,感性的各位可以参考下哈2013-03-03SQL Server实现group_concat功能的详细实例
group_concat函数能将相同的行组合起来,下面这篇文章主要给大家介绍了关于SQL Server实现group_concat功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-08-08sqlserver 各种判断是否存在(表名、函数、存储过程等)
在sql server中,如何判断sql server表是否存在呢?下面就将为您详细介绍该方法,供您参考,希望对您加深理解sql server表能起到些许作用2013-02-02SQL SERVER 2012新增函数之字符串函数FORMAT详解
这篇文章主要给大家介绍了关于SQL SERVER 2012新增函数之字符串函数FORMAT的相关资料,文中通过实例介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-03-03
最新评论