zoukankan      html  css  js  c++  java
  • [轉]SQLSERVER行列转换的pivot

    SQL 2008行列转换的pivot 
    [sql]
    IF OBJECT_ID('tempdb..#ABC') IS NOT NULL 
    DROP TABLE #ABC 
     
    create table #ABC 
    ID  INT 
    ,UserID BIGINT   
    ,UserExamID INT  
    ,TestPaperID INT     
    ,QuestionID INT 
    ,AnswerID   INT 
    ,Ctime DATETIME 
    INSERT INTO #ABC 
    SELECT 1,120629210042331600,1,3,22,49,GETDATE() UNION ALL 
    SELECT 2,120629210042331600,1,3,23,51,GETDATE() UNION ALL 
    SELECT 3,120629210042331600,1,3,24,56,GETDATE() UNION ALL 
    SELECT 4,120629210042331600,1,3,25,62,GETDATE() UNION ALL 
    SELECT 5,120629210042331600,1,3,26,66,GETDATE() UNION ALL 
    SELECT 6,120629210042331600,1,3,27,72,GETDATE() UNION ALL 
    SELECT 7,120629210042331600,1,3,28,77,GETDATE() UNION ALL 
    SELECT 8,120629210042331600,1,3,29,81,GETDATE() UNION ALL 
    SELECT 9,120629210042331600,1,3,30,86,GETDATE() UNION ALL 
    SELECT 10,120629210042331600,1,3,31,90,GETDATE() UNION ALL
    SELECT 1,120629210011732588,1,3,22,49,GETDATE() UNION ALL 
    SELECT 2,120629210011732588,1,3,23,51,GETDATE() UNION ALL 
    SELECT 3,120629210011732588,1,3,24,56,GETDATE() UNION ALL 
    SELECT 4,120629210011732588,1,3,25,62,GETDATE() UNION ALL 
    SELECT 5,120629210011732588,1,3,26,66,GETDATE() UNION ALL 
    SELECT 6,120629210011732588,1,3,27,72,GETDATE() UNION ALL 
    SELECT 7,120629210011732588,1,3,28,77,GETDATE() UNION ALL 
    SELECT 8,120629210011732588,1,3,29,81,GETDATE() UNION ALL 
    SELECT 9,120629210011732588,1,3,30,86,GETDATE() UNION ALL 
    SELECT 10,120629210011732588,1,3,31,90,GETDATE()   
     
    SELECT * FROM #ABC 
     
    [sql]
    DECLARE @s NVARCHAR(4000) 
    SELECT @s = ISNULL(@s + ',', '') +  QUOTENAME(QuestionID) 
    FROM (select distinct QuestionID from #ABC) as A ---列名不要重复
     
    Declare @sql NVARCHAR(4000) 
    SET @sql=' 
    select r.* from 
    (select UserID,QuestionID,AnswerID from #ABC) as t 
    pivot 
    max(t.AnswerID) 
    for t.QuestionID in ('+@s+') 
    ) as r' 
      
    EXEC( @sql)
  • 相关阅读:
    NSHashtable and NSMaptable
    架构的本质:构造定律与结合规则
    软件复用的基础和形式
    架构模式:循环模式、管道模式
    待整理
    functions and closures are reference types-函数和闭包是引用类型
    @autoclosure-可以让表达式自动封装成一个闭包:输入的是一个表达式
    Python 运算符优先级
    Linux下chkconfig命令详解
    Linux下Redis开机自启(Centos)
  • 原文地址:https://www.cnblogs.com/dennysong/p/3022294.html
Copyright © 2011-2022 走看看