表如下:图书分类表:自动增长列  超类名            子类名
-----  -------   ----------
1           计算机            计算机
2           计算机            办公自动化
3           自然科学          物理学
4           自然科学          化学
5           计算机            网站设计
6           自然科学          数学
我想要的结果如下:超类名          子类名  
------   --------  
计算机          计算机,办公自动化,网站设计
自然科学        物理学,化学,数学各位兄弟帮帮忙。。

解决方案 »

  1.   

    --连主题名字都没有换create table books
    (
    id int,
    类型列 int,
    类型名 varchar(20)
    )
    insert into books
    select 1,1,'计算机' union all
    select 2,1,'办公自动化' union all
    select 3,2,'物理学' union all
    select 4,2,'化学' union all
    select 5,1,'网站设计' union all
    select 6,2,'数学'
    go
    create function dbo.f_books(@a int)
    returns varchar(50)
    as
    begin
    declare @b varchar(50)
    set @b=''
    select @b=@b+类型名+','
    from books
    where 类型列=@a
    set @b=left(@b,len(@b)-1)
    return (@b)
    end
    go
    select 类型列,dbo.f_books(类型列)
    from books
    group by 类型列/*
    类型列                                                            
    ----------- -------------------------------------------------- 
    1           计算机,办公自动化,网站设计
    2           物理学,化学,数学*/
      

  2.   

    --改一下--稍微有点变化lz也不至于这样吧--改了一点create table books
    (
    id int,
    超类名 varchar(20),
    子类名 varchar(20)
    )
    insert into books
    select 1,'计算机','计算机' union all
    select 2,'计算机','办公自动化' union all
    select 3,'自然科学','物理学' union all
    select 4,'自然科学','化学' union all
    select 5,'计算机','网站设计' union all
    select 6,'自然科学','数学'
    go
    create function dbo.f_books(@a varchar(20))
    returns varchar(50)
    as
    begin
    declare @b varchar(50)
    set @b=''
    select @b=@b+子类名+','
    from books
    where 超类名=@a
    set @b=left(@b,len(@b)-1)
    return (@b)
    end
    go
    select 超类名,dbo.f_books(超类名) as 子类名
    from books
    group by 超类名/*
    超类名                  子类名                                                
    -------------------- -------------------------------------------------- 
    计算机                  计算机,办公自动化,网站设计
    自然科学                 物理学,化学,数学
    */