在unpivot查询SQLSERVER2008中列成为行值后更改列的名称
发布时间:2020-12-12 14:17:14 所属栏目:MsSql教程 来源:网络整理
导读:我有表格,包含以下信息: 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 khnizi4 12100462 5 05 1152
我有表格,包含以下信息:
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',[khnizi] ) ) u; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |