RT
解决方案 »
- Listview如何自定义每列的宽度与整个表的宽度呢
- 读取xml乱码
- 请问Server.Transfer和Response.Redirect的区别
- webconfig报错?
- 想不到下面这个简单问题,其他版面都没人会。。。。
- vs2005 网站发布问题
- 如何获取table中的控件?
- int ID =(int)DataGrid1.DataKeys[(int)e.Item.ItemIndex]行不通急死人
- 懂c#和xml进来一下:)
- 学习中遇到困难,不是我抠门,我只有这40分了,麻烦大伙给帮帮忙,谢谢!
- DropDownList如何添加optgroup?
- 急!!!!何用.net(C#)为图片批量加水印
张三 语文 80
张三 数学 90
张三 物理 85
李四 语文 85
李四 物理 82
李四 英语 90
李四 政治 70
王五 英语 90转换后的表: 姓名 数学 物理 英语 语文 政治
李四 0 82 90 85 70
王五 0 0 90 0 0
张三 90 85 0 80 0实例:
create table cj --创建表cj
(
ID Int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1
Name Varchar(50),
Subject Varchar(50),
Result Int,
primary key (ID) --定义ID为表cj的主键
);
--Truncate table cj
--Select * from cj
Insert into cj
Select '张三','语文',80 union all
Select '张三','数学',90 union all
Select '张三','物理',85 union all
Select '李四','语文',85 union all
Select '李四','物理',82 union all
Select '李四','英语',90 union all
Select '李四','政治',70 union all
Select '王五','英语',90
--行列转换
Declare @sql varchar(8000)
Set @sql = 'Select Name as 姓名'
Select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']'
from (select distinct Subject from cj) as cj --把所有唯一的科目的名称都列举出来
Select @sql = @sql+' from cj group by name'
Exec (@sql)