gpt4 book ai didi

sql - 在逆透视查询 SQLSERVER2008 中成为行值后更改列的名称

转载 作者:行者123 更新时间:2023-12-04 14:14:58 25 4
gpt4 key购买 nike

我有包含以下信息的表格:

CREATE TABLE [dbo].[ApprovedPalmsInFarm](
[id] [int] IDENTITY(1,1) NOT NULL,
[FarmID] [nvarchar](10) NOT NULL,
[kalas] [int] NULL,
[khnizi] [int] NULL

select查询的默认结果是:
id  FarmID      kalas   khnizi
4 12100462 5 0
5 11520344 3 0
6 12104277 150 15

我想使用 Unpivot 查询生成报告,其中列变为行值

我的报告查询如下:
SELECT FarmID, PalmsName, Quantity
FROM [ApprovedPalmsInFarm]
unpivot
(
Quantity
FOR PalmsName in ([kalas] , [khnizi] )
) u;

我的 Unpivot 查询的结果如下:

FarmID      PalmsName   Quantity
12100462 kalas 5
12100462 khnizi 0
11520344 kalas 3
11520344 khnizi 0
12104277 kalas 150
12104277 khnizi 15

现在我的问题是,如何在无法理解的情况下更改 PalmsName 值的名称,并且它们是列的名称,因此我想将名称更改为阿拉伯语,如下所示:

خلاص 而不是 kalas

خنيزي 而不是 khnizi

列成为行值后是否可以更改列的名称?

最佳答案

我发表了评论,但我会在这里给出答案,以便更好地格式化:

SELECT 
FarmID,
CASE PalmsName
WHEN 'kalas' THEN 'خلاص'
WHEN 'khnizi' THEN 'خنيزي'
ELSE PalmsName END AS 'PalmsName',
Quantity
FROM [ApprovedPalmsInFarm]
unpivot
(
Quantity
FOR PalmsName in ([kalas] , [khnizi] )
) u;

关于sql - 在逆透视查询 SQLSERVER2008 中成为行值后更改列的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088351/

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