• 使用SQL Server临时表来实现字符串合并处理


    处理的数据

      CREATE TABLE tb(col1 varchar(10),col2 int)  

      INSERT tb SELECT 'a',1  

      union ALL SELECT 'a',2  

      union ALL SELECT 'b',1  

      union ALL SELECT 'b',2  

      union ALL SELECT 'b',3 

    合并处理

      SELECT col1,col2=CAST(col2 as varchar(100))  

      INTO #t FROM tb  

      ORDER BY col1,col2  

      DECLARE @col1 varchar(10),@col2 varchar(100)  

      UPDATE #t SET  

      @col2=CASE WHEN @col1col1=col1 THEN @col2+','+col2 ELSE col2 END,  

      @col1col1=col1,  

      col2=@col2  

      SELECT * FROM #t 

    更新处理后的SQL Server临时表

      col1 col2  

       -  

      a 1  

      a 1,2  

      b 1  

      b 1,2  

      b 1,2,3  

      */  

    得到最终结果

      SELECT col1,col2=MAX(col2) FROM #t GROUP BY col1  

      /*结果  

      col1 col2  

       -  

      a 1,2  

      b 1,2,3  

      */  

    删除测试

      DROP TABLE tb,#t  

      GO 

     

    Ps:

    cast:将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
    语法
    使用 CAST:
    CAST ( expression AS data_type )

  • 相关阅读:
    基础语法 -实验楼
    JavaSE案例-Bank
    初识Java
    Java学习大纲-0412更新
    增量法
    蛮力法
    Host‘116.77.33.xx’is not allowed to connect to this MySQL server
    Maven坐标
    HotSpot虚拟机对象创建
    程序计数器为什么是线程私有的?
  • 原文地址:https://www.cnblogs.com/HeShui/p/3642538.html
Copyright © 2020-2023  润新知