2014-10-20 69 views
0
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 

我需要的方式对上述转换为以下SQL Server Management Studio中:移调(也许)行至列

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 

回答

2

退房unpivot

逆转置转换

Unpivot转换通过展开值将非标准化数据集变成更规范化的版本从单个记录中的多个列转换为单个列中具有相同值的多个记录。

下面是一个示例(SQLFiddle):

select 
p.* 
from MyTable as t 
unpivot 
(
    Amount for Account in 
    (
     PROC_QTY 
     ,Work_RVUs 
     ,CHARGES 
     ,PAYMENTS 
     ,REFUNDS 
     ,UPL_DISTRIBUTION 
    ) 
) as p 

记下我指定Amount(值)和Account(列名)。

+1

谢谢!完美工作。 – MikeW 2014-10-20 20:27:37