sql语句纵表变横表问题 name 张三 李四想显示成 张三 李四请问怎么写SQL语句。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 行列转换,请查看:http://topic.csdn.net/u/20080614/17/22e73f33-f071-46dc-b9bf-321204b1656f.html?32350 我以前弄过没那么复杂,有个函数可以转记得,select name1 from tablename 请知道的直接发SQL语句 select max(case name when '张三' then name end ) name1,max(case name when '李四' then name end ) name2from tablename 可能是张三 李四 很多啊。。不能写死了。select name1 from tablename 这个查询出来时列 怎么改成横啊 以下是列转行,没有行转列的单条语句select * from sys.sysobjects a INNER JOIN sys.syscolumns b ON b.id = a.id where a.name='表名' Copy一段代码供你参考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--SQL SERVER 2000 动态SQL,指课程不止语文、数学、物理这三门课程。(以下同)declare @sql varchar(8000)set @sql = 'select 姓名 'select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'from (select distinct 课程 from tb) as aset @sql = @sql + ' from tb group by 姓名'exec(@sql) 存储过程在查询分析器中,怎么穿参数给它 问题看着简单,其实比较复杂,数据库高手进来看看 这个咋处理呢? 同台电脑先安装SQL2005,后安装SQL2000,想卸载SQL2000 有关储存过程的分页问题,请各位帮忙看一下. 关于阻塞连接的疑问 这个关于时间的存储过程? 在 存储过程里 可以用数组 跟 FOR 循环吗? 怎么用? 很难的SQL问题 (100分!) 简历里,客户项目名用XX还是用某某,或者直接说公司名? 这个语句应该如何写? 求助 急~~~~~~~!!!
max(case name when '张三' then name end ) name1,
max(case name when '李四' then name end ) name2
from tablename
以下是列转行,没有行转列的单条语句
select * from sys.sysobjects a
INNER JOIN sys.syscolumns b ON b.id = a.id
where a.name='表名'
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--SQL SERVER 2000 动态SQL,指课程不止语文、数学、物理这三门课程。(以下同)
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql)