zoukankan      html  css  js  c++  java
  • SQL合并行

    表名:UserDuty

    id    Name    Dsp    level

    1 Designer   1          1
    2 Coder      1          2
    3 Coder      2          3
    4 Coder      3          4
    5 Designer   2          0
    NULL NULL NULL NULL

    // 合并数值

    Create FUNCTION dbo.f_sum(@name varchar(100))
    RETURNS int
    AS
    BEGIN
        DECLARE @r int
        SET @r = 0
        SELECT @r = @r + [level]
        FROM UserDuty
        WHERE [Name]=@name
        RETURN @r
    END
    GO


    // 合并行字符串

    Create FUNCTION dbo.f_str(@name varchar(100))
    RETURNS varchar(8000)
    AS
    BEGIN
        DECLARE @r varchar(8000)
        SET @r = ''
        SELECT @r = @r+',' + rtrim([Dsp])
        FROM UserDuty
        WHERE [Name]=@name
        RETURN STUFF(@r, 1, 1, '')
    END
    GO

    // 调用函数

    SELECT [Name], [Dsp]=dbo.f_str([Name]) ,[level]=dbo.f_sum([Name])
    FROM UserDuty
    GROUP BY [Name]

  • 相关阅读:
    北京联通光猫WO-36(HG220GS-U)改为桥接模式
    使用DataGrip导入数据
    Spring知识点
    mybatis-generator
    项目中mybatis连接mysql常见问题
    Spring AOP
    Volatile
    Redis知识点
    Spring IOC
    Observer模式
  • 原文地址:https://www.cnblogs.com/Kakasi/p/2177235.html
Copyright © 2011-2022 走看看