加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

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

目录

1、效果如下
跟大家讲解下有关“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')
 
 

(编辑:聊城站长网)

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

    推荐文章