Sql server行列转换

将列表转换为透视表的方法

SELECT kh as 款号,pm as 品名,ys as 颜色
,isnull([95],0)as ‘95‘
,isnull([100],0)as ‘100‘
,isnull([105],0)as ‘105‘
,isnull([110],0)as ‘110‘
,isnull([115],0)as ‘115‘
FROM(select * from hj)as a
pivot(
max([sl]) for [cm] in([95],[100],[105],[110],[115])
)as b
时间: 2024-08-26 22:12:30

Sql server行列转换的相关文章

sql server 行列转换

SQL 列转行 2011-04-22 16:13:41 好东西,转一下,嘿嘿. * 普通行列转换 (爱新觉罗.毓华 2007-11-18于海南三亚) 假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 */ ------------------------------------------------------------------------- /* 想变成

12、SQL Server 行列转换

SQL Server 行转列 在SQL Server 2005中PIVOT 用于将列值转换为列名(行转列),在SQL Server 2000中是没有这个关键字的 只能用case语句实现. --创建测试数据库 use master go if ( exists (select * from sys.databases where name = 'webDB') ) drop database webDB go create database webDB on primary ( name = 'w

sql server行列转化和行列置换

行列转换: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 74   84   94 张三 74   83   93 create table sc(姓名 varchar(10),课程 varchar(10),分数 float) insert into sc select '张三','语文',74 union select 

SQL Server 逻辑转换

使用 OR 逻辑是因为它符合人们的思维习惯.用使用 OR 逻辑的逻辑表达式来确定优先级和标识锚点行之后的行,也相当直观. 但是,因为 SQL Server 优化器的工作方式,OR 逻辑在性能方面存在问题,特别是当一些被筛选的列上没有索引时. 例如,考虑这样一个筛选器“col1=5 or col2=10”.如果分别在 col1 和 col2 上有单独的索引,优化器可以先在每个索引中筛选出行,然后再对两个结果执行索引交集运算(index intersection)运算.然而,如果只在其中一列上有索引

SQL Server数据库转换成oracle

来源:http://blog.csdn.net/hzfu007/article/details/6182151 经常碰到需要把sql server的数据迁移到Oracle的情况. 在网上查找一下,有很多方法,有用第三方工具的等,但sql server本身就提供一个"导入导出"的工具,用这个工具就可以把sql server数据转换到oracle中. 下面简单列一下操作步骤: 1. 在sql server中打开导入导出工具,在选择源数据界面上选择数据源,一般默认就可以了.输入源数据的服务器

Sql Server 日期转换大全

本博文转载,原博文:http://blog.csdn.net/baiduandxunlei/article/details/9180075 CONVERT(data_type,expression[,style])  convert(varchar(10),字段名,转换格式) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到. 语句 结果 SELECT CONVERT(varc

sql server 日期转换

一.时间函数 在使用存储过程,sql函数的时候,会遇到一些对时间的处理.比如时间的获取与加减.这里就用到了sql自带的时间函数.下面我列出这些函数,方便日后记忆,使用. --getdate 获取当前时间 select getdate() --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月 select dateadd(MONTH,12,'2013-02-17 13:20:16') --返回:2014-02-17 13:20:16.000 (参数month可

简单的叙述下SQL中行列转换的小知识!

行列转换对于工作还是学习中总是不可避免的会遇到(虽然本人还尚未工作,萌萌哒的学生一枚),解决的方法也有很多,我这里就总结一下我所想解决的问题以及怎么去解决的方法, 可能网上已经有很多类似的方法了,有的比我的可能会更好,就当我记录一下自己的学习经历吧.这里我们列举一个关于股票的每日入账出账做一个统计然后整理数据,虽然例子可能不太合理, 但是不要太执着于这些细节,能说明问题就好,傻笑ing..... 1 列转行:按照某一列分组,将另一列作为行时列名可数,不变. 什么意思呢?话说多了反而不懂,放两张图

sql 时间行列转换求总和

先看表结构 USE [TestMyDB] GO /****** Object: Table [dbo].[Product] Script Date: 2015/9/25 16:09:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING OFF GO CREATE TABLE [dbo].[Product]( [ProductId] [VARCHAR](36) NOT NULL, [ProductN