gpt4 book ai didi

sql-server - 如何在 unpivot 之前重命名列?数据库服务器

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:18 25 4
gpt4 key购买 nike

帮助我想在使用unpivot方法之前重命名一列

我的表是这样的:

列表项

id| value| ENE| FEB| MAR| ABR| MAY  
1 | dsads|2000|2334|2344|2344|2344

在 unpivot 之后我得到了这样的东西

id| value| month| amount
1 | dads| ENE | 2000
2 | sadf| FEB | 2334

但是我想要这样的东西

id| value| month| amount
1 | dads| 01 | 2000
2 | sadf| 02 | 2334

这是我的查询

select 
[año], [Empresa], [Region], [Suc], [CC], [Cuenta],
[Subcuenta], [Descripcion], Periodo, Importe
from
(select * from [dbo].['P Cargado$']) S
unpivot
(Importe for Periodo in
([ENE], [FEB], [MAR], [ABR], [MAY], [JUN], [JUL], [AGO], [SEP],[OCT], [NOV], [DIC])
) AS unpvt;

最佳答案

如果您使用 cross apply(values ..)要取消旋转,您可以这样做:

select t.id, t.value, x.*
from t
cross apply (values (1,ene),(2,feb),(3,mar),(4,abr),(5,may)) x (Mnth,Amount)

rextester 演示:http://rextester.com/SZDP50356

返回:

+----+-------+------+--------+
| id | value | Mnth | Amount |
+----+-------+------+--------+
| 1 | dsads | 1 | 2000 |
| 1 | dsads | 2 | 2334 |
| 1 | dsads | 3 | 2344 |
| 1 | dsads | 4 | 2344 |
| 1 | dsads | 5 | 2344 |
+----+-------+------+--------+

关于sql-server - 如何在 unpivot 之前重命名列?数据库服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43145155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com