在线等,用sql查询语句把一张表生成另外一张表

如A表中有三列:学生,科目,成绩(科目为语文数学英语),用查询语句生成表B为:学生,语文,数学,英语,... 如A表中有三列:学生,科目,成绩(科目为语文数学英语),用查询语句生成表B为:学生,语文,数学,英语, 展开
 我来答
一如真a
2016-07-18 · TA获得超过369个赞
知道小有建树答主
回答量:666
采纳率:75%
帮助的人:341万
展开全部
经典行转列,老生常谈了
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
耐心看完 你就懂了 只看下面的那部分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式