Tsql 将第一列透视到标题

Tsql 将第一列透视到标题,tsql,Tsql,我有一个相当长的过程,创建一个始终为13行、19列的表变量。我知道每列的名称和每行的第一个变量。问题是,我不知道如何将表格旋转以便于读取到网站。我必须一行一行地构建html表,但是客户端习惯于将月份缩写放在顶部 下面是使用[SELECT*FROM@TEMP]时表格的外观 MonthName|Number_Screened|...|Tax_Credits_Earned|...|Year_To_Date_Tax_Credits_Earned ---------+---------------+---

我有一个相当长的过程,创建一个始终为13行、19列的表变量。我知道每列的名称和每行的第一个变量。问题是,我不知道如何将表格旋转以便于读取到网站。我必须一行一行地构建html表,但是客户端习惯于将月份缩写放在顶部

下面是使用[SELECT*FROM@TEMP]时表格的外观

MonthName|Number_Screened|...|Tax_Credits_Earned|...|Year_To_Date_Tax_Credits_Earned
---------+---------------+---+------------------+---+-------------------------------
Jan      |159            |...|11030.26          |...|11030.26
Feb      |114            |...|6755.83           |...|17786.09
Mar      |107            |...|18250.73          |...|36036.82
Apr      |149            |...|11825.55          |...|47862.37
May      |117            |...|26149.78          |...|74012.15
Jun      |146            |...|11907.49          |...|85919.64
Jul      |104            |...|NULL              |...|85919.64
Aug      |NULL           |...|NULL              |...|85919.64
Sep      |NULL           |...|NULL              |...|85919.64
Oct      |NULL           |...|NULL              |...|85919.64
Nov      |NULL           |...|NULL              |...|85919.64
Dec      |NULL           |...|NULL              |...|85919.64
Total    |896            |...|85919.64          |...|85919.64
月份和总数将始终显示,并且始终以该顺序显示,因为临时表是按该顺序构造的,逐行使用循环

这就是我想要它的样子

                               |Jan     |Feb     |Mar     |...|Total
-------------------------------+--------+--------+--------+---+--------
Number_Screened                |159     |114     |107     |...|896
...                            |...     |...     |...     |...|...
Tax_Credits_Earned             |11030.26|6755.83 |18250.73|...|85919.64 
...                            |...     |...     |...     |...|...
Year_To_Date_Tax_Credits_Earned|11030.26|17786.09|36036.82|...|85919.64

我以前从未成功使用过pivot。

看起来您想先取消pivot数据,然后再使用pivot

示例

Select *
 From  (
        Select A.MonthName 
              ,B.*
         From  @Temp A
         Cross Apply ( values (1,'Number_Screened'   ,[Number_Screened])
                             ,(2,'Tax_Credits_Earned',[Tax_Credits_Earned])
                             ,(3,'Year_To_Date_Tax_Credits_Earned',[Year_To_Date_Tax_Credits_Earned])
                     ) B(Seq,Item,Value)
       ) src
 Pivot (sum(Value) for MonthName in ([Jan],[Feb],[Mar],[Apr],[May],[Jun],[Jul],[Aug],[Sep],[Oct],[Nov],[Dec],[Total]) ) pvt
 Order By Seq
返回


是否有办法将交叉申请按申请顺序排列?当我在编号\u筛选后添加未完成的文档时,它显示在编号\u筛选前。我如何在不加数字前缀的情况下执行交叉申请订单?@Kayot当然,我在交叉申请中添加了一个SEQ