zoukankan      html  css  js  c++  java
  • SQL Server 行列转换

    报表显示需求,查询结果往往需要做一些行列转换或列行转换来显示。

    就以http://www.cnblogs.com/insus/articles/1968148.html这个例子的数据源做演示。

    正常查询结果显示和执行结果,如下:

    SELECT [RId],[DT],[Hits] FROM [dbo].[RecordHits]

    下面演示,把[RId]和[DT]作为列显示:

    View Code
    SELECT [RID],
    SUM(CASE WHEN [DT] = '2011-01-23' THEN [Hits] ENDAS '2011-01-23',
    SUM(CASE WHEN [DT] = '2011-01-24' THEN [Hits] ENDAS '2011-01-24',
    SUM(CASE WHEN [DT] = '2011-01-25' THEN [Hits] ENDAS '2011-01-25',
    SUM(CASE WHEN [DT] = '2011-01-26' THEN [Hits] ENDAS '2011-01-26'
    FROM [dbo].[RecordHits] 
    GROUP BY [RId]

    执行结果:

    下面把DT,记录[RId]作为列显示:

    View Code
    SELECT [DT],
    SUM(CASE WHEN [RId] = 'R1' THEN [Hits] ENDAS 'R1',
    SUM(CASE WHEN [RId] = 'R2' THEN [Hits] ENDAS 'R2',
    SUM(CASE WHEN [RId] = 'R3' THEN [Hits] ENDAS 'R3',
    SUM(CASE WHEN [RId] = 'R4' THEN [Hits] ENDAS 'R4'
    FROM [dbo].[RecordHits] 
    GROUP BY [DT]

    执行显示结果:

  • 相关阅读:
    python 基础 7.1 datetime 获得时间
    Python 学习笔记12
    Python 学习笔记11
    Python 学习笔记10
    Python 学习笔记9
    Python 学习笔记8
    Python 学习笔记7
    Python 学习笔记6
    Python 学习笔记5
    Python 学习笔记4
  • 原文地址:https://www.cnblogs.com/insus/p/1969896.html
Copyright © 2011-2022 走看看