在sql里面,可以用sum函数来相加数值类型的字段,那有没有方法来集合字符类型的字段呢?
比如某些学生符合某条件,就把这些学生的名字连起来。select XX方法(name),sex,age from students where sex=1,age=11
得到如下的结果:
小张、小明、小李……, 1,  11不要告诉我自己创建个函数。我就不相信SQLSERVER这么牛,会没有这样的功能。

解决方案 »

  1.   

    declare @str nvarchar(255)
    set @str=''
    select @str=@str+','+name from tb where ......
      

  2.   

    select ' '+num+' '+station from Tick where 1=1 for xml path('') 
    where 1=1 这可以是你想要的某条件
      

  3.   

    你要的sql select MAX(sex) AS MAXsex,MAX(age) AS MAXage,name from
    (
    select sex,age,name =stuff((select ','+name from students  where sex=1 and age=11
    for xml path('')), 1, 1, '') from students where  sex=1 and age=11
    )a group by name
      

  4.   

    declare @str nvarchar(max)--长度一定要注意,否则会存在截断情况
    set @str=''
    select @str=@str+','+name 
    from tb 
    where condition...
      

  5.   

    select 后面用“+”对字符串字段拼接