您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页sql存储过程转列例子

sql存储过程转列例子

来源:爱go旅游网
ALTER procedure PropertGetPivot
as
Begin
    DECLARE @ColumnNames VARCHAR(3000)
    SET @ColumnNames=''
    SELECT
       @ColumnNames = @ColumnNames + '[' + [getDeptID] + '],'
    FROM
            (
              SELECT DISTINCT getDeptID FROM [pArticleGet] group by [getDeptID] 
            )t
    SET @ColumnNames= LEFT(@ColumnNames, LEN(@ColumnNames)-1)
    DECLARE @selectSQL NVARCHAR(3000)
    SET @selectSQL=
    'SELECT DeptId,ArticleId,{0} FROM
      (SELECT DeptId,ArticleId,getDeptID,SUM(GetAmount)GetAmount
  FROM [AffairMS].[dbo].[pArticleGet] group by DeptId,ArticleId,getDeptID)
       p
     Pivot(max(GetAmount) For getDeptID in ({0})) AS pvt
       ORDER BY ArticleId'
    SET @selectSQL= REPLACE(@selectSQL,'{0}',@ColumnNames)
    exec sp_executesql @selectSQL
end

 



 

 

转载于:https://www.cnblogs.com/luqingsong/archive/2012/09/27/2705610.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务