zoukankan      html  css  js  c++  java
  • 多行记录转一行,公共方法

    使用说明:

      @search_sql  查询结果集sql语句  比如  select name from table  (结果集为多行)

           @column_name   查询结果集的列名   在这个例子中应该传入 name

     1 ---------------公共方法:单独多行记录转一列-----------
     2 Create Proc [dbo].[sp_public_rows_to_column]
     3 (
     4    @search_sql nvarchar(2000),      --查询结果集sql语句
     5    @column_name nvarchar(20)        --查询结果集的列名
     6 )
     7 as
     8 begin
     9 
    10     --给语句重新赋值
    11     set @search_sql = 'select ' + @column_name + ' as content from (' + @search_sql + ') as a'
    12 
    13     --创建表变量
    14     declare @table_rows_to_column table
    15     (
    16         content nvarchar(2000)
    17     )
    18 
    19     --将执行结果添加到表变量中
    20     insert into @table_rows_to_column exec sp_executesql @search_sql
    21 
    22     --查询出结果
    23     SELECT LEFT(list,LEN(list)-1) as content FROM (
    24     select (
    25     select content+',' from @table_rows_to_column
    26         for xml path('')) as list
    27         ) b
    28 
    29 
    30 end
    View Code
  • 相关阅读:
    HDU 1813 Escape from Tetris
    BZOJ 2276 Temperature
    BZOJ 4499 线性函数
    BZOJ 3131 淘金
    HDU 5738 Eureka
    POJ 2409 Let it Bead
    POJ 1286 Necklace of Beads
    POJ 1696 Space Ant
    Fox And Jumping
    Recover the String
  • 原文地址:https://www.cnblogs.com/yhnet/p/13262036.html
Copyright © 2011-2022 走看看