[SQLServer]数据库行列互换
面试的时候遇到的数据库SQL问题,没写过,然后研究了一下,现将结果记录下来,方便以后查询。 题目1:将表tbltest1的行列互换 表结构: student kemu fenshu student1 语文 80 student1 数学 90 student1 英语 85 student2 语文 85 student2 数学 92 student
面试的时候遇到的数据库SQL问题,没写过,然后研究了一下,现将结果记录下来,方便以后查询。
题目1:将表tbltest1的行列互换
表结构:
student kemu fenshu
student1 语文 80
student1 数学 90
student1 英语 85
student2 语文 85
student2 数学 92
student2 英语 82
变成:
student 语文 数学 英语
student1 80 90 85
student2 85 92 82
SQLserver的sql语句:
declare @sql varchar(4000)
set @sql = 'select student'
select @sql = @sql + ',sum(case kemu when '''+ kemu +''' then fenshu else 0 end)['+ kemu+']'
from (select distinct kemu from tbltest1) as a
set @sql = @sql + ' from tbltest1 group by student'
exec(@sql)
上一篇: PHP操作文件问答_PHP教程
推荐阅读
-
[SQLServer]数据库行列互换
-
Android通过webservice连接SQLServer 详细教程(数据库+服务器+
-
【Sqlserver】修改数据库表中的数据:对缺失的数据根据已有的数
-
SqlServer数据库的数据单位类型
-
sqlserver 2005,设备异常断电,通过检查发现数据库不可用,数据库
-
SqlServer数据库全角转换成半角
-
ORACLE重装之后恢复数据库,相当于sqlserver的附加数据库
-
MySQL、SqlServer、Oracle三大主流数据库分页查询
-
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
-
SQLSERVER查询所有数据库名,表名,和字段名的语句