select i.sid,i.sname,i.birthday,i.schooltime,i.sphone,c.classname,a.assnname,sum(decode(subject,'语文',s.score,0)) as chin,
sum(decode(subject,'数学',s.score,0)) as math,
sum(decode(subject,'英语',s.score,0)) as eng from student_info i
left join student_expand e on i.sid = e.sid left join student_class c on
c.classid = e.classid left join student_assn a on a.assnid = e.assnid left join student_score s on s.sid = i.sid
group by i.sid,i.sname,i.birthday,i.schooltime,i.sphone,c.classname,a.assnname;
行转列:
decode(subject,'数学',s.score,0) 用法:如果subject会等于数学 ,则最后值等于 s.score 否则值等于: 0
分享到:
相关推荐
oracle行转列
oracle 行转列的sql语句写法, 附带例子
oracle行转列_列转行 Oracle行转列_列转行是指在数据库中将行数据转换为列数据或将列数据转换为行数据的操作。这种操作在实际应用中非常常见,例如在考试成绩统计中,需要将学生的每科成绩从行数据转换为列数据,...
Oracle行转列 Oracle行转列是指在Oracle数据库中将行数据转换为列数据或将列数据转换为行数据的操作。这种操作在实际应用中非常有用,例如,在数据报表、数据分析和数据挖掘等领域都需要使用行转列操作。 1. 列...
oracle数据库最详细的行转列资料,是官方文档的详细介绍版,中文的
NULL 博文链接:https://vernonchen163.iteye.com/blog/1902976
数据库查询中难免会遇到行列转换的情况,摘列一些较精典的解决方案
行转列函数,对于学习sql查询的朋友们,可能会遇到这样的要求,此文档中做了详细记载,希望可以帮到你!
用存储过程写的动态行转列。简单易用,查询速度高效
许多情况下,由于程序中需要将行转为列展示,如果使用ORACLE那么这个资源适合你。
Oracle 实现行转列功能并使用逗号进行隔开拼接成为一条数据 Oracle 中实现行转列功能,并使用逗号进行隔开拼接,成为一条数据是指将多行数据合并成一行数据,并用逗号分隔每个字段的值。这种功能在实际应用中非常...
关于oracle数据库如何行转列SQL语句。
SQL行转列问题解决方案 SQL行转列问题是指将行记录转换为列记录的操作。本文将详细讲解SQL行转列问题的解决方案,并提供了一个具体的实例来帮助读者更好地理解该问题。 问题描述 假设我们有一个学生成绩表tb,...
面试题目.sql
理解日常工作中常用到的多列分组, 如【统计不同部门、 不同职位的平均工资】和 行转列 包含例子 和 个人理解分析
在Oracle数据库中,这种行转列的操作可以通过多种方法实现,包括使用`PIVOT`操作、`DECODE`函数以及自定义的聚合函数等。下面我们将详细讨论这些方法,并结合提供的实例进行解析。 首先,我们来看一个简单的例子,...