在SQL Server中透视2列

时间:2019-01-21 12:11:58

标签: sql sql-server pivot

我从表B2BSALES获得了这样的结果数据

TABLE B2BSALES

我只能使用此查询中的取消枢纽操作

    SELECT [Date], [Desc], AREA,Value as TotalAmt 
FROM [dbo].[StagingSalesB2BINDOMA]
UNPIVOT
    (Value FOR AREA in
        (TOTAL, Bandung, CIREBON, BANJARMASIN, BATAM, BALI)
)AS unpvt;

PIVOTB2BAREA

只需将列城市作为区域

我想要的是这样

enter image description here

如何处理查询,可以在透视之前使用join,请先感谢

1 个答案:

答案 0 :(得分:0)

您似乎想取消枢纽。我推荐apply

select t.date, t.[desc], v.area.v.amt
from t cross apply
     (values ('Total', total),
             ('Bandung', bandung),
             ('Cirebon', cirebon),
             . . . 
     ) as v(area, amt);