sql怎样将行的值变为列,,,, 5

将地市变为列值!!!!!!!!... 将地市变为列值!!!!!!!! 展开
 我来答
折柳成萌
高粉答主

2017-12-25 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6251万
展开全部

方法/步骤

  • 首先我们建立一张表,名为RToC,各个字段的设计如下图,分别是name,course,score,表示姓名,成绩与分数,如图所示。

  • 我们往表中加入数据,分别添加小明与小花的语文和数学成绩,如图所示。

  • 接下来,我们要进行行列转换,列应该是name,语文,数学。我们首先要考虑是如何得到列名,我们可以通过分组得到课程名称。如图所示,我们通过分组语句,从查询结果我们可以看出课程名的拼接字符串。

  • 接下来,关键的行转列的函数pivot出场了,通过这个函数我们把分数填充到转换的列语文、数学的列值。

  • 我们运行后,可以得到行转列的结果,如下图所示。

  • 通过以上几个步骤,我们就可以轻松的实现行列转换了。同样,我们如果要把列转换成行, 应该怎么做呢?同样我们可以采用unpivot函数轻松实现。

嚣张的农村人35
2017-12-25 · TA获得超过1083个赞
知道小有建树答主
回答量:343
采纳率:84%
帮助的人:74.1万
展开全部

你这是Oracle数据库,给你看看我写的:

列转行

录入经营范围时候会遇到列传行的问题解决方案如下:

在temp1 表有一下字段内容:

一条sql转化列传行效果

select  a,zj,zjname from temp1 unpivot(zjname for zj in(b,c,d,e,f,g,h,i,j));

行转列:

select * from tbname;

行转列之后的数据:

select pud, listagg(ud, ',') within group(order by null) as ud
from tbname
group by pud;

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唐城冬
2017-12-25 · 大家一起学习进步吧!!!
唐城冬
采纳数:915 获赞数:1815

向TA提问 私信TA
展开全部

可以看一下这个行列转换的教程网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式