• 超简单的自定义GroupBy方式


    来源:http://www.cnblogs.com/yiyanxiyin/archive/2008/06/26/1230524.html

    --测试表
    create table Test
    (F1 
    varchar(10),
     F2 
    varchar(10))
    --插入数据
    insert into Test 
    select 'jack' F1,'book1' F2
    union
    select 'jack' F1,'book2' F2
    union
    select 'jack' F1,'book3' F2
    union
    select 'Mary' F1,'book4' F2
    union
    select 'Mary' F1,'book5' F2
    union
    select 'Mike' F1,'book1' F2
    union
    select 'Mike' F1,'book5' F2
    union
    select 'Mike' F1,'book7' F2
    union
    select 'Mike' F1,'book9' F2
    --一条动态SQL语句

    go
    --合并函数
    CREATE FUNCTION MergeCharField(@Group varchar(255))
    RETURNS varchar(8000)
    AS
    BEGIN
    DECLARE @r varchar(8000)
    SET @r=''
    SELECT @r=@r+','+rtrim(F2) FROM Test WHERE F1=@Group

    RETURN(substring(@r,2,8000))
    END
    GO
    --调用
    select F1 [name],dbo.MergeCharField(F1) [book] from test group by F1
    --删除测试环境
    drop table test
    drop FUNCTION MergeCharField

    /*
    name     book
    --------------------------
    jack       book1,book2,book3
    Mary     book4,book5
    Mike     book1,book5,book7,book9

    */

  • 相关阅读:
    输出流
    异常处理
    异常限制
    多个受控异常
    跟踪异常传播
    动手动脑练习2
    动手动脑练习
    文件总结
    程序员修炼之道3
    Shell教程 之printf命令
  • 原文地址:https://www.cnblogs.com/yanyuge/p/3412592.html
Copyright © 2020-2023  润新知