在开发项目过程中经常要用到交叉表,方便用户查看数据,交叉表--就是行转换成列。动态的交叉表就比较少用了。下面的SQL提供了一种思路,希望对需要的人有所帮助。
if object_id('Col_Row') is not null
drop procedure Col_Row
go
create procedure Col_Row
(@table_to_turn varchar(255), --待旋转的表
@key_col varchar(255), --保留的关键字段
@col_know_how varchar(255), --生成列名的字段
@col_to_turn varchar(255), --作为值的字段
@how_to varchar(20)='sum') --生成值的方式 sum min max avg ,etc.
/*
过程作用,根据纵向数据生成新横向结构
Created by Rami
created date 2008-08-29
*/
as
declare @exec varchar(8000)
create table #tmp (col varchar(255))
set @exec='select distinct '+@col_know_how+ ' from '+@table_to_turn
insert into #tmp exec (@exec)
set @exec=''
select @exec=@exec+@how_to+'(case when ['+@col_know_how+']= '''+col+''' then ['+@col_to_turn +'] else null end ) as ['+col+'],'
from #tmp
set @exec=left(@exec,len(@exec)-1)
set @exec='select ['+@key_col+'],'+@exec+' from ['+@table_to_turn+'] group by ['+@key_col+']'
exec(@exec)
go
--exec Col_Row 'empreceive','EmpCode','RpName','RPQty','sum'
分享到:
相关推荐
在编程领域,尤其是在使用C#进行数据处理时,动态交叉表查询是一种常用的技术,它能够帮助我们以矩阵或网格的形式展示数据,使我们能够轻松地分析多维数据集。动态交叉表查询允许开发者根据需求自定义列和行,提供...
### 基于动态交叉表的Web多维分析系统设计与实现 #### 一、引言 在现代商业环境中,企业越来越依赖于大数据分析来驱动决策制定。在这些场景下,传统的在线分析处理(OLAP)工具虽然强大,但在基于Web的应用程序中...
在SQL编程中,动态交叉表查询是一种非常实用的技术,它能够帮助我们以表格形式展示多维度数据,使得数据更易理解和分析。交叉表,又称作透视表或转置表,通常用于将行与列的数据位置互换,或者将某一列的数据作为新...
动态交叉表则是指在数据库查询过程中,根据实际运行时的动态条件,生成交叉表查询结果的技术。本文将探讨如何在SQL Server数据库中利用存储过程实现动态交叉表。 首先,我们需要理解交叉表的基本概念。在数据分析和...
"在Sql Server数据库中利用存储过程实现动态交叉表.pdf" 本文主要讲述了在Sql Server数据库中利用存储过程实现动态交叉表的技术。交叉表是一种特殊的表格形式,它可以将数据按照某种规则进行转换和重新组织,以便更...
### Jfreechart动态交叉表的生成与应用 #### 摘要 本文主要探讨了如何在Java与Oracle环境下生成动态交叉表(Crosstab),并分析了其在实际应用中的重要性和具体实施方法。数据库设计时需遵循数据范式的要求以确保...
例如,将学生表、科目表、成绩表等通过JOIN操作连接,可以生成类似于表1的动态交叉表,显示每个学生在各个科目的成绩。 关键词中的“多表联合”即指此类操作,通过INNER JOIN、LEFT JOIN、RIGHT JOIN或FULL OUTER ...
《范式下的Oracle数据库设计及其动态交叉表的生成》这篇文献主要探讨了在数据库设计中遵循范式的重要性,以及如何在Oracle数据库中实现动态交叉表的生成。文章以提高数据库性能和数据完整性为目标,深入剖析了数据库...
Oracle动态交叉表生成是数据库管理中的一个重要概念,尤其在处理范式化数据时。范式化设计是数据库设计的基础,它旨在减少数据冗余、提高数据一致性并降低维护成本。Oracle数据库作为广泛应用的大型关系数据库管理...
【水晶报表动态绑定数据源实现动态交叉表】是一种在.NET和SQL Server环境下处理报表生成的技术。动态交叉表是根据用户需求灵活展示数据的一种方式,它能够根据数据的分类和汇总实时调整列的数量和名称。在规范化...
给定的部分内容展示了如何通过SQL Server的存储过程实现动态交叉表的功能。下面将对这段代码进行逐行分析: ```sql CREATE PROC p_qry @TableNames sysname,-- @sysname,-- @sysname,-- @sysname,--ֶ @ǷӺϼ...
BIRT(Business Intelligence and Reporting Tools)是Eclipse基金会下的一个开源报表系统,它提供了一整套工具,使得开发者能够利用API动态地创建和定制复杂的报表,包括交叉表(Cross Tab)。交叉表是一种数据汇总...
交叉表的语法,动态交叉的sql语句交叉表的语法,动态交叉的sql语句 交叉表的语法,动态交叉的sql语句交叉表的语法,动态交叉的sql语句
动态交叉表,也被称为Pivot Table,在数据分析领域中是一种强大的工具,用于整理和汇总大量数据。它是Excel、SQL、Python的pandas库等数据分析软件中的一个重要功能,可以帮助用户快速理解和总结复杂的数据集。 1. ...
总结来说,"abc.rar"可能是一个具有动态交叉表功能的程序,它允许用户灵活地分析和探索数据,以适应不同的业务需求。要充分利用这个工具,需要了解其内部结构,学习如何配置和操作,以及如何结合具体的数据集进行...
摘要:VB源码,数据库应用,交叉表查询 VB6.0与SQL2000结合演示的动态交叉表查询方法,测试前请首先附加Database文件中的数据库,然后再运行可执行文件。 数据库的附加方法如下: 1.将目录database下的xs_Data.MDF...
通过以上步骤,我们可以看到,在SQL Server中生成交叉表不仅可以利用动态SQL来实现,而且这种方式非常灵活,可以根据不同的需求动态调整查询逻辑。这种方法适用于需要快速响应不同数据透视需求的场景,尤其对于报表...