Sql server 将(可能)行转置到列

Sql server 将(可能)行转置到列,sql-server,Sql Server,我需要一种在SQL Server Management Studio中将上述内容转换为以下内容的方法: Employee Entity Payor Location PROC_QTY Work_RVUs CHARGES PAYMENTS REFUNDS UPL_DISTRIBUTION No Employee 29040100 BCBS - FSC1 Inpatient 679.5 3.45

我需要一种在SQL Server Management Studio中将上述内容转换为以下内容的方法:

Employee    Entity      Payor           Location    PROC_QTY    Work_RVUs   CHARGES  PAYMENTS   REFUNDS UPL_DISTRIBUTION
No Employee 29040100    BCBS - FSC1     Inpatient   679.5        3.45        84423.5 14514.85   0               0
退房:

Unpivot变换

Unpivot转换通过将单个记录中的多个列中的值扩展为单个列中具有相同值的多个记录,将未规范化的数据集转换为更规范化的版本

下面是一个示例():


注意我指定的
金额
(值)和
账户
(列名)。

谢谢!工作得很好。
Employee    Entity      Payor       Location    Account     Amount
No Employee 29040100    BCBS - FSC1 Inpatient   PROC_QTY    679.5

No Employee 29040100    BCBS - FSC1 Inpatient   Work_RVUs   3.45

No Employee 29040100    BCBS - FSC1 Inpatient   CHARGES     84423.5

No Employee 29040100    BCBS - FSC1 Inpatient   PAYMENTS    14514.85

No Employee 29040100    BCBS - FSC1 Inpatient   REFUNDS      0

No Employee 29040100    BCBS - FSC1 Inpatient   UPL_DISTRIBUTION    0
select
 p.*
from MyTable as t
unpivot
(
    Amount for Account in 
    (
         PROC_QTY
        ,Work_RVUs
        ,CHARGES
        ,PAYMENTS
        ,REFUNDS
        ,UPL_DISTRIBUTION
    )
) as p