`
Jason_zhu
  • 浏览: 21204 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL Server数据库纵向转横向

阅读更多

以一张薪资表为例,表结构如下:

 

 

表结构中,每个员工id对应有多个薪资项目以及金额,需要查询时转向,将每个员工的薪资项目转为横向一行显示。

在直接查询(加入一些限制条件以缩小结果集),

 

SELECT 
	ssp_pay_empid,
	ssp_pay_sdate,
	ssp_pay_edate,
	ssp_pay_type,
	ssp_pay_amount,
	ssp_pay_item
FROM ssp_pay
where ssp_pay_empid = 00000073 and ssp_pay_type = 'RT' and ssp_pay_item
	  IN ('/101','/103','/401','/402') and ssp_pay_sdate = '2007-08-01'
 

得到如下结果:


需要将上述查询结果显示为一行,则使用SQL Server 2005新增的PIVOT ,通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。

 

执行如下SQL:

select 
	ssp_pay_empid,
	ssp_pay_sdate,
	ssp_pay_edate,
	ssp_pay_type,
	[/101],
	[/103],
	[/401],
	[/402]
from (
	SELECT 
		ssp_pay_empid,
		ssp_pay_sdate,
		ssp_pay_edate,
		ssp_pay_type,
		ssp_pay_amount,
		ssp_pay_item
	FROM ssp_pay
	where ssp_pay_empid = 00000073 and ssp_pay_type = 'RT' and ssp_pay_sdate = '2007-08-01'
) AS SourceTable 
PIVOT (SUM(ssp_pay_amount) FOR ssp_pay_item
IN ([/101],[/103],[/401],[/402])) AS  PivotTable

 结果为:


 

 

以上为记录笔记,无他用。

 

 

  • 大小: 20.3 KB
  • 大小: 25.3 KB
  • 大小: 12.7 KB
分享到:
评论

相关推荐

    SqlServer数据库下载

    根据提供的信息,“SqlServer数据库下载”这一主题主要围绕着如何获取并安装SQL Server数据库软件进行讨论。下面将对SQL Server数据库的基本概念、下载与安装过程、以及相关的重要知识点进行详细介绍。 ### SQL ...

    SQL Server数据库服务器负载均衡集群的实现

    面对大数据量和大量的数据库查询请求,只能采取纵向提升服务器档次的方法,而纵向提升的成本远远高于横向扩展。 在热备时,数据库服务器只有一台在工作,另一台处于闲置备份的状态,造成了投资的浪费。 非...

    50种方法巧妙优化你的SQLServer数据库

    在SQL Server数据库管理中,优化是提升系统性能的关键步骤。以下是一些针对SQL Server数据库的优化策略,旨在提高数据处理速度、减少资源消耗并改善整体系统效率。 1. **I/O设备分离**:将数据、日志和索引分别放置...

    sqlserver常用一些技巧

    在SQL Server数据库管理系统中,掌握一些实用技巧可以显著提高数据操作和管理的效率。以下是一些基于标题和描述的关键知识点的详细说明: 1. **疑难SQL语句合集**: SQL Server支持复杂的查询和操作,包括子查询、...

    sqlserver数据库优化50法

    《SQLServer数据库优化详解》 SQLServer数据库优化是提升系统性能的关键步骤,尤其在处理大量数据和复杂查询时显得尤为重要。以下将详细阐述优化数据库的五十种方法,以解决查询速度慢的问题。 首先,了解查询速度...

    数据库动态生成列数据库纵向列转横向列

    ### 数据库动态生成列——数据库纵向列转横向列 #### 背景介绍 在数据库管理与数据分析领域,经常会遇到需要将数据从一种格式转换到另一种格式的需求,尤其是在处理报表或者进行复杂的数据分析时。例如,有时候我们...

    SQL Server数据库查询速度慢原因及优化方法

    【赛迪网-IT技术报道】SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:  1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)  2、I/O吞吐量小,形成了瓶颈效应。  3、没有...

    50种方法优化SQL Server数据库查询

    "50种方法优化SQL Server数据库查询" 在本文中,我们将讨论50种方法来优化SQL Server数据库查询,以提高查询速度和数据库性能。这些方法可以分为以下几类:索引优化、硬件升级、服务器配置、查询语句优化、数据库...

    浅析SQL Server数据库安全系统.pdf

    标题“浅析SQL Server数据库安全系统”的知识点包括了对SQL Server数据库安全性的深入分析。本文将细致探讨SQL Server的安全机制,提出增强数据库安全系统的具体措施,并研究数据库监控信息获取策略,同时也会探讨...

    SQL Server数据库优化方案

    SQL Server数据库优化是提升数据库性能的关键步骤,尤其对于SQL Server 2000这样的早期版本来说,优化显得尤为重要。数据库查询速度慢可能是多种原因造成的,包括但不限于以下几点: 1. **缺乏索引**:没有索引或未...

    如何实现SQL Server数据库安全监控系统.pdf

    总之,构建一个有效的SQL Server数据库安全监控系统需要综合考虑数据库的完整性、保密性和可用性,并通过分层的横向和纵向结构来实现全面、实时和动态的安全监控。这不仅涉及到技术层面的实现,还需要管理层面的支持...

    50种方法巧妙优化你的SQLServer数据库.doc

    标题中的“50种方法巧妙优化你的SQLServer数据库”指的是针对SQL Server数据库进行性能提升的各种策略和技巧。这些方法旨在改善数据库的响应时间、吞吐量以及资源利用率,以满足日益增长的业务需求。 描述中提到的...

    sql 2005 纵向表横向输出存储过程

    总之,这个“sql 2005 纵向表横向输出存储过程”是数据库管理和数据分析中的一个重要工具,它利用了SQL的PIVOT功能,结合动态SQL,使得在面对变化的数据结构时也能高效地完成数据转换,极大地提高了数据处理的灵活性...

    SQL_Server_2005 数据库基础及应用技术教程与实训

    根据提供的标题、描述和标签,本篇将围绕“SQL Server 2005 数据库基础及应用技术教程与实训”这一主题展开详细讲解。虽然给定的部分内容未能提供具体的知识点,但我们可以根据标题和描述推测该教程主要涵盖的内容,...

    如何用SQLServer将数据库横向扩展-电脑资料.pdf

    在数据库管理领域,横向扩展(Scaleout)是指通过增加服务器的数量来提高系统处理能力,而SQL Server提供了多种方法来实现这一目标。以下是一些关键的知识点: 1. **SQL Azure**: 微软的Windows Azure云服务提供...

    SQLserver数据库优化[归类].pdf

    SQL Server数据库优化是一个涵盖多个方面的复杂过程,旨在提高数据库的性能和效率。以下是一些关键的知识点: 1. **索引使用**:当在查询中使用索引字段时,如果索引是联合索引,必须使用索引的第一个字段作为条件...

    50种方法巧妙优化你的SQL Server数据库

    ### 50种方法巧妙优化你的SQL Server数据库 #### 一、引言 在数据库管理领域,特别是针对大型企业级应用中的SQL Server数据库,优化是一个持续且必要的过程。高效的数据库性能不仅能提升用户体验,还能显著降低...

    SQLserver数据库优化.pdf

    在SQL Server数据库优化中,确保高效的数据访问是关键。索引是加速查询的重要工具,但使用不当反而会导致性能下降。联合索引需注意,只有当查询条件包含索引中的首个字段时,系统才会使用该索引。对于临时表,大数据...

    SQL Server数据库安全监控系统的实现.pdf

    总结来说,SQL Server数据库安全监控系统在设计时,考虑了系统的整体架构,横向、纵向和切向三个维度的设计使系统功能更加模块化、结构更加清晰,从而能够快速响应数据库安全威胁,实现对数据库的有效监控和保护。

    sqlserver的大批量数据的处理以及数据库的优化

    ### SQL Server 的大批量数据处理及数据库优化策略 #### 一、引言 在现代企业的数据密集型应用中,SQL Server 数据库作为重要的数据管理工具,其性能优化至关重要。特别是在处理大量数据时,如何有效提升查询速度...

Global site tag (gtag.js) - Google Analytics