表:
字段1 字段2 
001    A
001    B
001    C
002    D
002    E
003    F
003    G
003    H
003    I怎么实现:
001    A   B  C
002    D   E
003    F   G  H  I

解决方案 »

  1.   

    或者:
    001    002    003
    A      D      F
    B      E      G
    C             H
                  I
      

  2.   

    --先在数据库中创建一个函数:create function test(@字段1 int)
    returns varchar(8000)
    as
    begin
    declare @str varchar(8000)
    set @str=''
    select @str=@str+cast(字段2 as varchar) from table where 字段1=@字段1      --set @str=right(@str,len(@str)+10)
    return(@str)
    End
    go
    --调用自定义函数得到结果
    select distinct 字段1,dbo.test(字段1) as 别名 from table
      

  3.   

    错了,这个是对的--先在数据库中创建一个函数:create function test(@字段1 int)
    returns varchar(8000)
    as
    begin
    declare @str varchar(8000)
    set @str=''
    select @str=@str+cast(字段2 as varchar) from table where 字段1=@字段1     
    return(@str)
    End
    go
    --调用自定义函数得到结果
    select distinct 字段1,dbo.test(字段1) as 别名 from table
      

  4.   

    楼上办法明白。
    只是 最后结果只有两个字段了
    能不能达到如下效果啊?字段1  字段2   字段3   字段4  字段5
    001     A       B       C
    002     D       E
    003     F       G       H        I
      

  5.   

    最近不知道是我的微机有问题,还是CSDN的问题。怎么不能结贴给分啊?打不开管理贴子的页面