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)
  • 相关阅读:
    SpringBoot security关闭验证
    BCryptPasswordEncoder 判断密码是否相同
    SpringBoot 通过jjwt快速实现token授权
    lombok的@Accessors注解3个属性说明
    lombok使用教程
    linux系统下将php和mysql命令加入到环境变量中的方法
    mysql常用的一些命令,用于查看数据库、表、字段编码
    配置windows 系统PHP系统环境变量
    MYSQL导入导出.sql文件
    windows下mysql 控制台操作
  • 原文地址:https://www.cnblogs.com/dennysong/p/3022294.html
Copyright © 2011-2022 走看看