易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL SERVER:select 字符串拼接问题

一、问题
select UserID,LastName,FirstName,UserName from SYSUser
UserID LastName FirstName UserName
------------------------------------------------------
1      A        B        C
2      A1      B1        C1
3      A2      B2        C2
  我想把这个select出来的纪录集拼接成一个字符串。应该怎么实现?例如:
strUserName=C,c2,c2
  二、解决
  SQL code问题描述:无论是在sql 2000,还是在 SQL 2005 中,都没有提供字符串的聚合函数,所以,当我们在处理下列要求时,会比较麻烦:
  有表tb, 如下:
id    value
----- ------
1     aa
1     bb
2     aaa
2     bbb
2     ccc
  需要得到结果:
id     values
------ -----------
1      aa,bb
2      aaa,bbb,ccc
  即, group by id, 求 value 的和(字符串相加)
  方法1、 旧的解决方法
-- 1. 创建处理函数
CREATE FUNCTION dbo.f_str(@id int)
RETURNS varchar(8000)
AS
BEGIN
    DECLARE @r varchar(8000)
    SET @r = ''
    SELECT @r = @r + ',' + value
    from tb
    WHERE id=@id
    RETURN STUFF(@r, 1, 1, '')
END
GO
-- 调用函数
SELECt id, values=dbo.f_str(id)
from tb
GROUP BY id
  方法2、新的解决方法
  1、示例数据
DECLARE @t TABLE(id int, value varchar(10))
INSERT @t SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
  2、查询处理
SELECT * from(
    SELECT DISTINCT id
    from @t
)A
OUTER APPLY(
    SELECT
    &nbs


相关文档:

linq to sql 中的类型强传解决方案

 List<Class1> li = dc.Table_1.Where(item => item.id > 1).Cast<Class1>().ToList();
Table_1 为自动生成类, class1为自定义类,属性名称都是一样的,要能实现上面的语句,必须有几个条件
Table_1 需要继承class1,可以通过partial类来实现
Table_1  属性加override
class1里面的属性要是vir ......

Microsoft SQL Server 2005 JDBC Driver 1.1

Microsoft SQL Server 2005 JDBC Driver
1.1
快速描述
下载 Microsoft SQL Server
2005 JDBC Driver 1.1,这是一种 Type 4 JDBC 驱动程序,可通过 J2EE(Java2 企业版)中的标准 JDBC
应用程序编程接口 (API) 提供数据库链接。
本页内容

速详细信息



统要求



关资源

他用户正在 ......

在Windows2003下安装SQL Server 2000

     在windows2003下面安装SQL Server2000,会提示windows不支持SQL Server2000的版本,安装后,在本机是可以正常使用的,但是无法连接到其他SQL Server2000的服务器,也无法通过其他机器上的SQL Server2000访问,必须安装SQL Server2000sp3或sp4补丁才可以。其实用SQL Server2005就没这么麻烦了。 ......

linq to sql 插入值,以及如何取回自增的ID

linq to sql 在插入值的时候还是很方便。有时候我们需要在插入一个新的实体之后得到那个实体的主键ID的值,这个ID当然必须是自增。一段时间我一直认为直接使用linq to sql的插入机制是不可以在做到的,所以只有使用存储过程的,具体可以查看这篇文章:http://blog.benhall.me.uk/2008/01/custom-insert-logic-with-linq-to- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号