加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server中如何将数据实现行转列 方式是什么

发布时间:2023-05-08 11:25:45 所属栏目:MsSql教程 来源:
导读:今天小编跟大家讲解下有关“SQL Server中如何将数据实现行转列,方法是什么”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。目录1、效果如下2、解决

今天小编跟大家讲解下有关“SQL Server中如何将数据实现行转列,方法是什么”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

目录

1、效果如下

2、解决方案

3、代码如下

场景:行数据的某列值想作为字段列显示

1、效果如下

2、解决方案

使用pivot进行行转列,以及结合分组

3、代码如下

select * from(

select DeptName,InputCode

from FWD_Department

group by DeptName,InputCode

) as a

pivot(

max(InputCode) for DeptName in([随访中心],[全院],[家庭化产房],[妇科二],妇科一)

) piv

创建表:

USE [test]

GO

/****** Object: Table [dbo].[FWD_Department] Script Date: 2022/3/11 14:50:39 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[FWD_Department](

[id] [int] IDENTITY(1,1) NOT NULL,

[DeptName] [varchar](50) NOT NULL,

[InputCode] [nchar](10) NULL,

CONSTRAINT [PK_one] PRIMARY KEY CLUSTERED

(

[DeptName] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

 表记录添加:

insert into one(DeptName,InputCode)

values('随访中心','SFZX')

insert into one(DeptName,InputCode)

values('全院','QY')

insert into one(DeptName,InputCode)

values('家庭化产房','JTHCF')

insert into one(DeptName,InputCode)

values('妇科二','FKE')

insert into one(DeptName,InputCode)

values('妇科一','FKY')

现在大家对于SQL Server中如何将数据实现行转列,方法是什么的内容应该都有一定的认识了吧。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章