ama*_*l50 4 sql unpivot columnname two-columns sql-server-2008
我有表格,包含以下信息:
CREATE TABLE [dbo].[ApprovedPalmsInFarm](
[id] [int] IDENTITY(1,1) NOT NULL,
[FarmID] [nvarchar](10) NOT NULL,
[kalas] [int] NULL,
[khnizi] [int] NULL
Run Code Online (Sandbox Code Playgroud)
select查询的默认结果是:
id FarmID kalas khnizi
4 12100462 5 0
5 11520344 3 0
6 12104277 150 15
Run Code Online (Sandbox Code Playgroud)
我想使用Unpivot查询生成报告,其中列成为行值
我的报告查询如下:
SELECT FarmID, PalmsName, Quantity
FROM [ApprovedPalmsInFarm]
unpivot
(
Quantity
FOR PalmsName in ([kalas] , [khnizi] )
) u;
Run Code Online (Sandbox Code Playgroud)
我的Unpivot查询的结果如下:
FarmID PalmsName Quantity
12100462 kalas 5
12100462 khnizi 0
11520344 kalas 3
11520344 khnizi 0
12104277 kalas 150
12104277 khnizi 15
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,如何在不可理解的情况下更改PalmsName的值的名称,并且它们是列的名称,因此我想将名称更改为例如阿拉伯语,如下所示:
خلاص而不是kalas
خنيزي而不是khnizi
是否可以在列成为行值后更改列的名称?
Jim*_*Jim 10
我发表了评论,但我会在这里给出答案,以便更好地格式化:
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;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3544 次 |
最近记录: |