CSDN SQL版常見問題之一--合併函數

原创 2009年10月11日 11:52:00

/*
--轉載請注明,謝謝
--作者:  Paoluo
--日期:  2007-08-31
--用途:  將相同ID的Name組合到一起,並用","分隔
*/

--創建測試環境
Create Table TEST
(OrderID Int Identity (1, 1),
 ID Int,
 Name Varchar(10))

--插入數據
Insert TEST Select 1, 'A'
Union All Select 1, 'B'
Union All Select 2, 'C'
Union All Select 2, 'D'
Union All Select 2, 'E'
Union All Select 3, 'F'
GO
--創建函數
Create Function F_Get_Name(@ID Int)
Returns Varchar(2000)
As
Begin
 --定義返回變量
 Declare @Name Varchar(2000)
 --賦初值,此句不能少,否則會返回Null
 Select @Name = ''
 --循環從表中取出ID對應的Name,並組合復制給變量
 Select @Name = @Name + ',' + Name From TEST Where ID = @ID
 --去掉變量最前面的逗號
 Select @Name = Stuff(@Name, 1, 1, '')
 --返回變量
 Return @Name
End
GO
--測試
--察看原表數據
Select * From TEST

Select
 ID,
 dbo.F_Get_Name(ID) As Name
From
 TEST
Group By
 ID
--刪除測試環境
Drop Table TEST
Drop Function F_Get_Name
--結果
/*
--表中原來數據
OrderID ID Name
1  1 A
2  1 B
3  2 C
4  2 D
5  2 E
6  3 F

--實現效果
ID Name
1 A,B
2 C,D,E
3 F
*/

CSDN操作系统板块常见问题

  • 2012年04月20日 10:36
  • 72KB
  • 下载

CSDN操作系统版块常见问题

  • 2009年07月03日 13:28
  • 72KB
  • 下载

Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)

请稳步我的博客查阅并下载所有资源以及源代码 http://www.cckan.net 文章导航  SQL Server 2005  学习笔记系列文章导航(存储过程,视频,索引,Clr,各种工具...

【CSDN常见问题解答】Java多种数据库连接

此系列文章是基于CSDN论坛Java版提出的问题进行整理的,旨在建立一个常见问题索引,方便新手阅读。本次CSDN常见问题是Java连接数据库代码,因为不同数据库使用的连接驱动不一样,而且记忆较为繁琐。...

【CSDN常见问题解答】Web上传图片生成指定大小图片

在使用playframework的时候,发现框架提供了一个Image类,这个类可以实现生成指定大小的图片功能,我们来看下这个类: /** * Resize an image ...

【CSDN常见问题解答】使用JNA调用Windows动态库

Java中调用Windows平台的动态库一般会使用JNI(Java Native Interface)还有JNA(Java Native Access)。首先解释下为什么我会选用JNA,一句话来说就是...

【CSDN常见问题解答】目录文件编码转换

有时候导入一个工程到Eclipse中发现中文乱码了。原因就是工程的编码格式变了。比如从UTF-8变成了GBK等等。此时我们手动去改的话十分麻烦。下面这个类就是用来改变整个目录的编码的,详细请看代码。i...

CSDN博客积分标准(含常见问题和勋章等)

推荐博客规则 CSDN博客所有用户均有机会推荐自己的博文到博客频道首页。发布博文时选中“发布到CSDN博客首页”单选框即可。 用户推荐要求:a. 博主积分需超过100分,否则不能推荐自己博客文...

【CSDN常见问题解答】Thread的run()和start()方法

看清楚Thread类中run()和start()方法的区别:run()方法:如果在其他地方调用run方法,就是调用一个普通方法。和其他调用方法一样,比如person.eat(); 而且直接调用run可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CSDN SQL版常見問題之一--合併函數
举报原因:
原因补充:

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