zoukankan      html  css  js  c++  java
  • sql server行转列

    首先创建表和添加数据

    想要的结果

    --方法一
    SELECT DISTINCT C.[USER_NAME] AS '姓名',
    (SELECT SCORE FROM TEST_TB_GRADE WHERE [USER_NAME]=C.[USER_NAME] AND COURSE='语文') AS '语文',
    (SELECT SCORE FROM TEST_TB_GRADE WHERE [USER_NAME]=C.[USER_NAME] AND COURSE='数学') AS '数学',
    (SELECT SCORE FROM TEST_TB_GRADE WHERE [USER_NAME]=C.[USER_NAME] AND COURSE='英语') AS '英语'
    FROM dbo.TEST_TB_GRADE C
    
    --方法二
    SELECT [USER_NAME] AS '姓名',
    SUM(CASE WHEN COURSE='语文' THEN SCORE END) AS '语文',
    SUM(CASE WHEN COURSE='数学' THEN SCORE END) AS '数学',
    SUM(CASE WHEN COURSE='英语' THEN SCORE END) AS '英语'
    FROM dbo.TEST_TB_GRADE
    GROUP BY [USER_NAME]
    
    --方法三
    DECLARE @S NVARCHAR(1000)
    SET @S='SELECT [USER_NAME] AS '''+'姓名'+''''
    SELECT @S=@S+',SUM(CASE WHEN COURSE='''+CAST(COURSE AS VARCHAR)+'''THEN SCORE END) AS '''+COURSE+'''' FROM TEST_TB_GRADE GROUP BY COURSE
    SET @S=@S+' FROM TEST_TB_GRADE GROUP BY [USER_NAME]'
    EXEC(@S)

      推荐方法三

  • 相关阅读:
    java-正则表达式6
    java-正则表达式5
    java-正则表达式4
    java-正则表达式3
    java-正则表达式2
    12.5
    JAVA GUI随笔
    JAVA个人知识总结
    UML关系图
    JAVA中的聚集和组合的区别和联系
  • 原文地址:https://www.cnblogs.com/malianyong/p/2964007.html
Copyright © 2011-2022 走看看