zoukankan      html  css  js  c++  java
  • 行列转换的例子

    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  
    
    
    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) 

    如果要消除NULL,可以利用@s构造一个 ISNULL(字段.0) AS [字段]

  • 相关阅读:
    centos 7 安装ntp服务器
    centos 7编译安装nodejs 6.1
    修改IKAnalyzer配置
    Elasticsearch5.5.0安装head插件
    搭建ELASTICSEARCH实现中文分词搜索功能
    0426HTML基础:标签
    事件事件流
    纯css设置各行变色
    dom操作之元素的增删复制
    dom操作
  • 原文地址:https://www.cnblogs.com/songr/p/7085971.html
Copyright © 2011-2022 走看看