zoukankan      html  css  js  c++  java
  • 使用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 )

  • 相关阅读:
    C语言面试题——大小端测试(一)
    C语言面试题——联合体测cpu的大小端
    C语言面试题——sizeof的注意点
    C语言面试题——联合体测cpu的大小端
    C语言面试题——指针运算
    poj2183
    poj1972
    poj2014
    poj1970
    poj1918
  • 原文地址:https://www.cnblogs.com/HeShui/p/3642538.html
Copyright © 2011-2022 走看看