SqlServer中实现行数据转为列显示
短信预约 -IT技能 免费直播动态提醒
场景:行数据的某列值想作为字段列显示
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
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中实现行数据转为列显示的文章就介绍到这了,更多相关Sql Server行转列内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341