首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

麻烦大家帮忙看一下这道SQL面试题如何做

2013-09-27 
麻烦大家帮忙看一下这道SQL面试题怎么做这个是已给的查询结果这个是要我查询出的结果,sql语句怎么写?[解决

麻烦大家帮忙看一下这道SQL面试题怎么做
这个是已给的查询结果
麻烦大家帮忙看一下这道SQL面试题如何做
这个是要我查询出的结果,sql语句怎么写?
麻烦大家帮忙看一下这道SQL面试题如何做
[解决办法]


create table #tab(科目 varchar(50),张三 int,李四 int,王五 int)

insert into #tab
select '语文',30,33,33 union all
select '数学',33,55,55 union all
select '英语',44,44,55


select '张三' as 科目,
max(case 科目 when '语文' then 张三 end) '语文',
max(case 科目 when '数学' then 张三 end) '数学',
max(case 科目 when '英语' then 张三 end) '英语'
from #tab 
union all
select '李四',
max(case 科目 when '语文' then 李四 end) '语文',
max(case 科目 when '数学' then 李四 end) '数学',
max(case 科目 when '英语' then 李四 end) '英语'
from #tab 
union all
select '王五',
max(case 科目 when '语文' then 王五 end) '语文',
max(case 科目 when '数学' then 王五 end) '数学',
max(case 科目 when '英语' then 王五 end) '英语'
from #tab 
----------------------------
科目              张三          李四          王五
-------------- ----------- ----------- -----------
语文              30          33          33
数学              33          55          55
英语              44          44          55

(3 行受影响)

科目   语文          数学          英语


---- ----------- ----------- -----------
张三   30          33          44
李四   33          55          44
王五   33          55          55


(3 行受影响)

热点排行