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

时间: 2024-09-23 12:35:04

sql server多行数据拼接的实例方法的相关文章

sql server多行数据拼接的实例方法_MsSql

1.表结构id type productCode1 铅笔 00012 铅笔 00023 铅笔 00034 钢笔 00045 钢笔 00056 钢笔 00047 圆珠笔 00078 圆珠笔 00089 圆珠笔 00072.自定义函数fun 复制代码 代码如下: GO/****** Object:  UserDefinedFunction [dbo].[fun]    Script Date: 11/22/2011 16:09:45 ******/SET ANSI_NULLS ONGOSET QUO

很有意思的SQL多行数据拼接_MsSql

要实现的SQL查询很原始: 要求从第一个表进行查询得到第二个表格式的数据,上网查询之后竟然能写出下面的SQL: 复制代码 代码如下: select * from userino SELECT * FROM( SELECT DISTINCT userpart FROM userino )A OUTER APPLY( SELECT [usernames]= replace(replace(replace((SELECT username as value FROM userino N WHERE u

很有意思的SQL多行数据拼接

要实现的SQL查询很原始: 要求从第一个表进行查询得到第二个表格式的数据,上网查询之后竟然能写出下面的SQL:复制代码 代码如下: select * from userino SELECT * FROM( SELECT DISTINCT userpart FROM userino )A OUTER APPLY( SELECT [usernames]= replace(replace(replace((SELECT username as value FROM userino N WHERE us

SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

原文:SQL Server 动态行转列(参数化表名.分组列.行转列字段.字段值) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL,动态列字段: 方法三:使用PIVOT关系运算符,静态列字段: 方法四:使用PIVOT关系运算符,动态列字段: 扩展阅读一:参数化表名.分组列.行转列字段.字段值: 扩展阅读二:在前面的基础上加入条件过滤: 参考文献(R

SQL Server 2000 汉字数据简繁转换实例 (COM,.Net)

server|汉字|简繁转换|数据 SQL Server 2000 汉字数据简繁转换实例 (COM,.Net) 首先确认在 Windows (当然只是 SQL Server 的服务器端) 上安装了 .Net Framework 1.1 ! 确认成功安装后:1.用 sn -k 为该类库创建一个强名密钥文件: 在安装 Microsoft .Net Framework SDK 的所在目录下的 v1.1\Bin\ 子目录下执行如下命令行: sn.exe -k c:\snkey.snk 2.打开记事本(N

SQL Server存储图像数据的机制介绍

本文介绍MIS SQL Server对图像数据的存储机制和存取方法.针对VB开发工具,介绍了一种通过ADO Field 对象的GetChunk 方法和AppendChunk 方法来存取MIS SQL Server中的图像数据的方法. 在一个完善的医院信息MIS中,图像数据的存取是必不可少的,比如X光片.CT像片的保存.一方面,这些图像数据在远程诊疗为准确诊断病情提供了重要的依据,另一方面,也为快速查阅病人资料提供了基本条件.图像数据的存取在其它应用系统如GIS中也有广泛的应用. 1.SQL Se

数据库-如何连接并查询SQL server 2000的数据?

问题描述 如何连接并查询SQL server 2000的数据? 我使用Visual Studio 2013,并使用C#编写代码.在服务器资源管理器上,我试图建立一个到SQL Server 2000 数据库的连接,结果报错了:"SQL Server Native Client 11.0 不支持连接到 SQL Server 2000 或更早的版本". 我无法升级或更改对方数据库. 我只是需要查询.提取数据库里的数据. 请问,我应当如何建立连接,并查询数据? 解决方案 使用MicroSoft

SQL Server解析XML数据的方法详解_MsSql

本文实例讲述了SQL Server解析XML数据的方法.分享给大家供大家参考,具体如下: --5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <Info Name="Email">dongsheng@xxyy.com</Info> <Info Name="Phone">678945546</

SQL Server某一数据表最多能存储多少条记录呢?

问题描述 SQL Server某一数据表最多能存储多少条记录呢? 解决方案 没有上限的,这是联机帮助上的原话: 每个表的行数: 受可用存储资源限制 这个可用资源受下面几个因素的影响: 1.你的磁盘剩余空间 2.你的数据文件所在的磁盘分区格式,FAT16只支持最大2G的数据文件,FAT32只支持最大4G的数据文件 3.你的SQL版本,如果你是用msde,则单个数据文件最大仅支持2G,其他版本的数据库最大支持32TB 4.你的表所在文件组的文件数解决方案二:只要机器够好,应该没有最大值,只是性能问题