发布于 2015-11-13 13:57:35 | 193 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的SQL Server教程,程序狗速度看过来!

SQL Server 数据库

SQL Server 即 Microsoft SQL Server 。 SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。


1 列转行

测试脚本

create table tb(姓名 varchar(10),课程 varchar(10),分数 int)

insert into tb values('张三','语文',74)

insert into tb values('张三','数学',83)

insert into tb values('张三','物理',93)

insert into tb values('李四','语文',74)

insert into tb values('李四','数学',84)

insert into tb values('李四','物理',94)

go

转化脚本

select 姓名 , 
max(case 课程 when '语文' then 分数 else 0 end) 语文, 
max(case 课程 when '数学' then 分数 else 0 end) 数学 ,
max(case 课程 when '物理' then 分数 else 0 end) 物理 
from tb  group by 姓名

附加求总分和平均分

select 姓名 , 
max(case 课程 when '语文' then 分数 else 0 end) 语文, 
max(case 课程 when '数学' then 分数 else 0 end) 数学 ,
max(case 课程 when '物理' then 分数 else 0 end) 物理 ,
sum(分数) 总分,
cast(avg(分数*1.0)as decimal(18,2)) 平均分
from tb  group by 姓名

2 列传行

测试脚本

create table tbs(姓名 varchar(10),语文 int,数学 int,物理 int)

insert into tbs values('张三',74,83,93)

insert into tbs values('李四',74,84,94)

go

转化脚本

 select 姓名,课程 ='语文',分数=语文 from tbs union 

 select 姓名,课程='数学',分数=数学 from tbs union 

 select 姓名,课程='物理',分数=物理 from tbs


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务