在线等,用sql查询语句把一张表生成另外一张表
如A表中有三列:学生,科目,成绩(科目为语文数学英语),用查询语句生成表B为:学生,语文,数学,英语,...
如A表中有三列:学生,科目,成绩(科目为语文数学英语),用查询语句生成表B为:学生,语文,数学,英语,
展开
2个回答
展开全部
经典行转列,老生常谈了
select name
,max(case when kemu='yuwen' then score else 0 end) as yuwen
, max(case when kemu='shuxue' then score esle 0 end) as shuxue
, max(case when kemu='yingyu' then score esle 0 end) as yingyu
from table_name
group by name
大概是这个意思
select name
,max(case when kemu='yuwen' then score else 0 end) as yuwen
, max(case when kemu='shuxue' then score esle 0 end) as shuxue
, max(case when kemu='yingyu' then score esle 0 end) as yingyu
from table_name
group by name
大概是这个意思
2016-07-18
展开全部
就是列转行 一句话就搞定了
SELECT 姓名 ,
课程 ,
分数
FROM tb UNPIVOT ( 分数 FOR 课程 IN ( [语文], [数学], [物理] ) ) t
http://www.cnblogs.com/maanshancss/archive/2013/03/13/2957108.html
耐心看完 你就懂了 只看下面的那部分
SELECT 姓名 ,
课程 ,
分数
FROM tb UNPIVOT ( 分数 FOR 课程 IN ( [语文], [数学], [物理] ) ) t
http://www.cnblogs.com/maanshancss/archive/2013/03/13/2957108.html
耐心看完 你就懂了 只看下面的那部分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询