数据库环境:SQL SERVER 2005 最近在整理数据时,要将查询到的数据张贴到Excel中。在Excel中,要展示的行数是固定的,列数不固定,一个一个数据的复制张贴太烦人。想了一个偷懒的方法,直接将查询的数据进行行转列,达到和Excel中的效果一致,再整列复制到Excel中。1.创建测试表,....
分类:
其他好文 时间:
2015-08-18 21:01:31
阅读次数:
183
SQLServer行转列在SQL Server 2005中PIVOT 用于将列值转换为列名(行转列),在SQL Server 2000中是没有这个关键字的 只能用case语句实现。--创建测试数据库use mastergoif ( exists (select * from sys.database...
分类:
数据库 时间:
2015-08-16 09:23:42
阅读次数:
262
SQLServer行转列在SQL Server 2005中PIVOT 用于将列值转换为列名(行转列),在SQL Server 2000中是没有这个关键字的 只能用case语句实现。--创建测试数据库use mastergoif ( exists (select * from sys.database...
分类:
数据库 时间:
2015-08-15 18:08:08
阅读次数:
243
PIVOT用于将列值旋转为列名(即行转列),在SQL Server2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_c...
分类:
数据库 时间:
2015-08-13 17:57:09
阅读次数:
192
PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值。其实PIVOT 就是行转列,UNPIVOT就是列转行。PIVOT 的完整语法为:SELECT ,...
分类:
其他好文 时间:
2015-08-09 16:58:45
阅读次数:
195
数据库环境:SQL SERVER 2005现有一个需求,要枚举1-50个自然数,分10行5列展示。如图,解题思路:1.利用数字辅助表,枚举1-50的自然数列2.将数字集进行行转列,对5求余作为转列的条件,并按照整除5分组SQL实现/*枚举1-50的自然数列*/WITH x0 ...
分类:
其他好文 时间:
2015-08-06 21:56:36
阅读次数:
116
在系统开发中常常遇到进行数据的统计,并将数据行转列的情景,例如表中的表示。但是在数据库中呈现出来的数据往往是横行的样式。这就需要一个转换。转换的方式有两种方式。1.利用cross join去进行转换。2.利用case when函数去转换。...
分类:
其他好文 时间:
2015-07-30 19:35:00
阅读次数:
110
一、问题描述 有时在“相关子查询中”需要查询某个实体类对应的某个字段有多个值,如果不做行专列查询,会提示返回多个列的错误。例如: 如上图所示,一个组合包,可能对应多个产品,需要你将所对应的多个产品都放到前台显示。二、解决方法 表结构设计如图: 首先,我们这里采用相关子查询的方式来获取结果: ...
分类:
数据库 时间:
2015-07-29 11:43:40
阅读次数:
209
最近在工作中,对行转列进行了应用,在此做一个简单的小结。
转换过程如下:
1、创建表结构
CREATE TABLE RowToCol
(
ID NUMBER(10) not null,
USER_NAME VARCHAR2(20 CHAR),
COURSE VARCHAR2(20 CHAR),
SCORE VARCHAR2(2...
分类:
数据库 时间:
2015-07-26 14:18:31
阅读次数:
156
定义:Pivot英文意思:回转运动PIVOT用于将列值旋转为列名(即行转列),UNPIVOT用于将列名转为列值(即列转行),也可以在SQLServer2000可以用聚合函数配合CASE语句实现。语法:PIVOT和UNPIVOT的语法区别在于是否有使用聚合函数PIVOT:table_source
PIVOT(
聚合函数(value_co..
分类:
其他好文 时间:
2015-07-23 14:12:09
阅读次数:
199