Oracle横竖转换怎么做
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle横竖转换怎么做相关的知识,希望对你有一定的参考价值。
一个多国语表,
LAN_cd,lan_type,lan_name
1 ch 查找
1 er shearch
转换成
Lan_cd, ch, er,
1, 查找 search
但是前提是不知道语言类型(ch,er)有几个,得先找出来有几种类型,根据语言个数来判断有几个列,能做出来么?
不仅仅是 Oracle ,就目前人类已经创造的数据库而言,在显示习惯上,不管是屏幕还是纸质,横向显示列(Col),纵向显示行(Row),因为表的数据增减是沿着行(Row)的方向增减,而人们更习惯于纵向快速对比同一列的多行信息,而不善于横向对比同一行的多列信息。
大概可以猜到你希望构建一个数据结果视图,这个视图的列值是指定的某个月的全部日期,如果在最左边再加上几列,比如序号、名次、姓名,最右边再加上一列,比如总业绩,那么就可以用来展示该月全体销售人员的销售额以及排名。如果要实现类似需求,那么就努力构造你的 SQL 语句吧,虽然没有证据证明无法用 SELECT 语句实现,但似乎SELECT 必须制定列名,即使你使用 * 那也代表的是所有列。如果配合程序语言,那么实现起来就很简单。你可以试试存储过程,动态创建表,直接构造你需要的列,然后 SELECT * 即可。
上个世纪出现计算机屏幕的时候,屏幕显示就是纵向滚屏,横向从来没动过,至今人们已经习惯了屏幕纵向滚动,因为大多数语言文字都是横向排版比较适合人们的阅读习惯,纵向阅读确实费劲。如果最初屏幕是横向滚动的,那么现在情况也许就截然不同了。
顺便说一下,阅读横向排版的纸质或电子版的中文书籍,页面较宽而字符较小行距较小的时候,容易找错下一行。阅读英文则很少有此情况,这也许是方块字与长短英文单词的区别?阅读台湾出版的纵向排版的中文书籍,刚开始不习惯,后来觉得确实比横向排版有优势。比如,你单手把书翻卷起来,阅读到接近中缝的文本时,不需要反复以书脊为轴转动书本,阅读很方便。而如果是横排,那么你看到接近中缝的几个字之后,需要转动书本再去找举例中缝最远的下一行,很容易就找错了。也许,如果计算机最初是台湾人发明的,那么现在鼠标中间那个滚轮就应该是横着的,电脑屏幕也是横向滚动,而纵向基本不动了。看看下面这段纵向文字,舒服不? 参考技术A oracle中最常见的行转列,主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的,具体的sql如下:
select t.user_name,
sum(decode(t.course, '语文', score,null)) as CHINESE,
sum(decode(t.course, '数学', score,null)) as MATH,
sum(decode(t.course, '英语', score,null)) as ENGLISH
from test_tb_grade t
group by t.user_name
order by t.user_name
unity发布到手机端中如何转换横竖屏
第二行代码是设置屏幕的比例,也就是设置这里:
第三行代码是修改canvas的比例,也就是相当于设置这里
以上是关于Oracle横竖转换怎么做的主要内容,如果未能解决你的问题,请参考以下文章