相关子查询-关于数据库update的问题

问题描述

关于数据库update的问题

我有一个class表,里面有班级号(clno)和平均年龄(Avg-age)的列
然后有一个student表,里面有age和clno的列。我想按班级计算平均年龄然后存入class表
幼稚的我,没想出办法,就每个班去update
现在想用一个update完成所有班级的平均年龄计算并存入class表
听同学建议试试相关资查询。我的方法如下,不过没成功。。。。
update Class
set Avg-age=(select AVG(Sage)
from Student
where Clno=student.Clno)
where Clno in (select Clno
from Student
where Student.Clno=class.Clno)

解决方案

不同数据库多表关联update的问题
dsum 解决 access数据库中 update的子查询问题

解决方案二:

这样的话 你可以使用group by进行分组计算

解决方案三:

可以这么写
delete * from class
insert into calss (clno,Avg-age) select clno , AVG(Sage) avgage from Student group by clno order by clno

时间: 2025-01-21 08:43:14

相关子查询-关于数据库update的问题的相关文章

如何在SQL Server中使用相关子查询

子查询是指将一条SQL Sever语句嵌入到另一条SQL Sever语句中.数据库引擎将子查询做为虚表执行查询操作.子查询可做为连接语句中的一个表,可做为选择语句中的一个值,也可以是SQL Sever查询子句,还可以是SQL Sever查询子句的字句,与数据操作语句混合在一起. 子查询的执行依赖于嵌套查询.查询树从最里层开始,一层一层向外执行.高层的嵌套查询可以访问低层嵌套查询的结果. 什么是相关子查询? 与经典子查询不同,相关子查询依赖于外部查询.外部查询和子查询是有联系的,尤其在子查询的WH

sql日记(相关子查询,动态交叉表篇)

动态 最近重新又翻看了一下关于sqlserver的书籍,主要查看了一下关于sql中的相关子查询和交叉表方面的知识.相关子查询和普通子查询区别在于:相关子查询引用了外部查询的列.这种引用外部查询的能力意味着相关子查询不能自己独立运行,其中对于外部查询引用会使会使其无法正常执行.因此相关子查询的执行顺序如下:1.首先执行一遍外部查询2.对于外部查询的每一行分别执行一遍子查询,而且每次执行子查询时候都会引用外部的当前行的值.使用子查询的结果来确定外部查询的结果集.举个例子:SELECT t1.type

SQL 相关子查询与group by的问题,谢谢指导

问题描述 SQL 相关子查询与group by的问题,谢谢指导 student(sno,sname,sdept) course(cno,cname,ccredit) sc(sno,cno,grade) 1.查询每个系的最高成绩 select x.sno,sdept,grade from student x,sc where x.sno = sc.sno and grade =(select max(grade) from sc,student where sc.sno=student.sno a

新手求教 php查询 遍历数据库 多条符合条件数据输出的记录只有一条

问题描述 新手求教 php查询 遍历数据库 多条符合条件数据输出的记录只有一条 ($result = 0;//搜索结果默认值(不搜索) 1=正确搜索到结果2=搜索到结果但非第一次3=没搜索到结果4=系统提示) if($msg0 == 1){ ///号信息 $sql=""select * from tgs_code where bianhao='$bianhao'""; //sql语句在数据库查询可返回多条记录 ///echo $sql; $res=mysql_que

查询MySql数据库架构信息:数据库,表,表字段

/*1.查询所有数据库*/ show databases;  /*2.查询所有数据表*/ select * from information_schema.tables where table_schema='world' /*3.查询指定表的所有字段*/ select * from information_schema.columns  where table_schema='world' and table_name='city' 

用于查询当前数据库中所有表格的记录条数的脚本

脚本|数据|数据库 --==========================================================================-- 说明: 本脚本用于查询当前数据库中所有表格的记录条数--   并将结果存入TableInfo表中,不会删除以备用户再做处理与分析--   不过,最后请用户删除此表.--========================================================================== if

C#查询SqlServer数据库并返回单个值的方法

  本文实例讲述了C#查询SqlServer数据库并返回单个值的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 static public string GetSqlAsString(string sqlText, SqlParameter[] sqlParameters, string databaseConnectionString) { string result = ""; Sq

php查询mysql数据库并将结果保存到数组的方法

 这篇文章主要介绍了php查询mysql数据库并将结果保存到数组的方法,实例分析了php使用mysql_fetch_assoc查询数据库的技巧,需要的朋友可以参考下     本文实例讲述了php查询mysql数据库并将结果保存到数组的方法.分享给大家供大家参考.具体分析如下: 这里主要用到了mysql_fetch_assoc函数 mysql_fetch_assoc语法如下: ? 1 array mysql_fetch_assoc (resource $Result_Set) 范例代码如下: ?

thinkphp3查询mssql数据库乱码解决方法

 这篇文章主要介绍了thinkphp3查询mssql数据库乱码解决方法,需要的朋友可以参考下 thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码   解决方法:   1:在ThinkPHPLibCore 打开Db.class.php,在其最后面加上 2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result