根据是否引用外部查询,可以将子查询分为相关子查询和非相关子查询
非相关子查询,这种子查询的查询结果与外部查询无关,可以单独执行的.例如
update newtable set name='max' where id = (select max(id) from oldtable)这里需要注意的是:使用=号时,子查询必须只有一个值,这个叫做单值子查询.
相关子查询,就以你的查询语句为例
update newtable set id=(select id from oldtable where name=newtable.name)逻辑运行过程,是将newtable中的一行数据中的name取出,传入到子查询中,这是子查询的查询结果返回给外部查询,再更新id.然后使用同样的方法,处理下一行.
你好,很高兴回答你的问题。
直接修改一下你的这个语句就可以。
在第一个箭头所指的位置加上"sum(",在第二个箭头所指的位置加上后半个括号")"。执行修改后的sql就可以达到你想要的结果了。
如果有帮助到你,请点击采纳。
我解答的大部分都是软件开发新人遇到的问题,如果有兴趣可以关注我。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)