这个SQL语句如何写,求指教!

问题描述

表 students 中有如下数据:姓名    科目    成绩张三    语文     20张三    数学     30张三    英语     40李四    语文     50李四    数学     60李四    英语     70 如何得到结果:姓名    语文     数学      英语张三     20         30         40李四     50         60         70

解决方案

select '姓名' t.name,'语文' (select score from student s where s.name=t.name and s.sub='chinese')from student t group by t.name数学 英语照着写
解决方案二:
SELECT 姓名,sum(case 科目 when '语文' then 分数 else 0 end) 语文,sum(case 科目 when '数学' then 分数 else 0 end) 数学,sum(case 科目 when '英语' then 分数 else 0 end) 英语,convert(avg(分数 * 1.0),DECIMAL(18,2)) 平均分,sum(分数) 总分from studentGROUP BY 姓名;

时间: 2024-11-16 16:41:04

这个SQL语句如何写,求指教!的相关文章

菜鸟 求解答-orcale中between and的sql语句怎么写啊!求大神指导

问题描述 orcale中between and的sql语句怎么写啊!求大神指导 就是我想查询数据库中name列里随便一个范围内的数据 该怎么写呢, 解决方案 你的name是什么类型的? 字符串的话只能用枚举了. name in ('a','b','c') 如果是说数字类型或者日期时间类型,可以用 between and 或者 > < 当然也可以枚举 举例如下: 字段类型: name varchar2(30), age int(3) select * from tableName where n

discuz-Discuz 3.2 查询的sql语句怎么写?

问题描述 Discuz 3.2 查询的sql语句怎么写? 我在数据表里面加了一个sid,现在要以sid为条件去查询数据,这样写是错误的,,求正确写法!! 解决方案 string sql;sql="select 字段名xx,xx,xx from 数据表名"sql+="where xxx(主键名)="+articleid.ToString();

sql-求大神指导SQL语句怎么写

问题描述 求大神指导SQL语句怎么写 建立了一张活动表 actid int primary key identity(1,1), actname varchar(50) not null, actshort varchar(200) not null, actlong varchar(1000) not null, actaddress varchar(100) not null, actgoway varchar(200) not null, volshort varchar(100), vo

字段-sql 语句怎么写判断 ?

问题描述 sql 语句怎么写判断 ? d.D_DirectionID dirid, 用了内外连接查询 D_DirectionID 是一个表名 dirid是一个字段 求判断如果dirid= 43 就执行 条件1 如果等于44就执行条件2 解决方案 case when then when then end 解决方案二: 用存储过程,用变量来保存dirid,ranhif判断 解决方案三: 最简单的就是if语句判断了! 解决方案四: 把字段查出来 if(dirid==43){ ....... }else

sql asp net-这种情况的sql语句怎么写

问题描述 这种情况的sql语句怎么写 其中tk表中的fzjid与zj表中的id一致 选择"2 信息技术的发展和应用"能显示该知识点下的练习题,现在需要实现选择"第一章 信息及信息的获取"时显示所有该章节的所有练习题, 语句如下 sql = "select * from ttk where ftkzj=@zjid order by id desc"; SqlParameter[] p = new SqlParameter[] { new SqlPa

sql语句-请教一个SQL语句如何写?

问题描述 请教一个SQL语句如何写? 求助大侠:表A中有字段a,b,c,d,e,f,但并不是所有字段都一定有值,其中有值字段原值为'201xxxx'现在要将有值字段由'201xxxx'替换为'2001xxxx',无值字段保留为空,请问SQL语句如何写?(其中'201xxxx'中的xxxx代表数字,比如20101或201010101,位数不定,也可能只为201)请赐教. 解决方案 update [A] set [a] = left(a2)+'0'+right(alen(a)-2) [b] = le

数据-急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了

问题描述 急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了 条件2始终存在,条件1不一定始终有.条件1.条件2的数据可能同时存在,但是 当有条件1的数据存在的时候,显示条件1的数据: 如果没有,则显示条件2的数据的数据. 解决方案 select * from table where (条件1 and not exist (select * from table where 条件2)) or (条件2 and not exist (select * from tabl

oracle数据库,SQL语句怎么写,求助

问题描述 oracle数据库,SQL语句怎么写,求助 如果选择的时间间隔是:"1年" 那个就将每年的最后一个数据显示出来 如果选择的时间间隔是:"1月" 那个就将每月的最后一个数据显示出来 如果选择的时间间隔是:"1日" 那个就将每天的最后一个数据显示出来 如果选择的时间间隔是:"1时" 那个就将每小时的最后一个数据显示出来 oracle数据库,SQL语句怎么写,求助 解决方案 按年等日期分组,取每组事件最大的. 解决方案二:

mysql-求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~

问题描述 求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~ 现在我有三个表: 表1: pre_common_member_profile: uid(用户的uid), gender(性别), birthyear(出生的年), birthmonth(出生的月), birthday(出生的日) 表2: pre_home_friend: uid(用户的uid), fuid(加为好友的uid) 表3: pre_home_friend_request: fuid(发送好友请求