刚学sql,请教一个关于用sql语句进行计算的问题,谢谢

wangwy1971 2018-01-28 01:52:12
比如我有两个表,第一个表是人名,有a、b两个人,第二个表是a、b分别有的钱数,但是每个人的钱分好几批存的,所以在第二个表中每个人会出现好几次,我想把表1中的人名在表2中找到并计算出每个人的总钱数,像这样的计算需要用到循环什么的吗?还有就是得到的结果是个临时表吗?
...全文
313 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwy1971 2018-01-28
  • 打赏
  • 举报
回复
引用 2 楼 baidu_36457652 的回复:
不需要循环,出来的结果不放到实体表就是临时的。 可以用用表连接 select a.*,t1.mm from a left join(select id, sum(money) as mm from b group by id) t1 on a.id=t1.id
你好,谢谢回答。对于这个临时表我不太明白,如果这个临时表我还下一步还想用到,需要怎么处理?比如表一中还有每个人的存款限额,我想用临时表的总数和限额进行对比,这样能做到吗?可以在刚才选的时候多加上一列表一的存款限额吗?
wangwy1971 2018-01-28
  • 打赏
  • 举报
回复
你好,谢谢回答。对于这个临时表我不太明白,如果这个临时表我还下一步还想用到,需要怎么处理?比如表一中还有每个人的存款限额,我想用临时表的总数和限额进行对比,这样能做到吗?可以在刚才选的时候多加上一列表一的存款限额吗?
OwenZeng_DBA 2018-01-28
  • 打赏
  • 举报
回复
不需要用循环。在数据库中使用SQL的时候尽量用集合的思想,不要用循环。
  • 打赏
  • 举报
回复
不需要循环,出来的结果不放到实体表就是临时的。 可以用用表连接 select a.*,t1.mm from a left join(select id, sum(money) as mm from b group by id) t1 on a.id=t1.id
卖水果的net 2018-01-28
  • 打赏
  • 举报
回复
可以说使用标量子查询。 select a.id,a.name, (select sum(b.num) from b where a.id=b.id) sum_num from a
  • 打赏
  • 举报
回复
引用 5 楼 wangwy1971的回复:
[quote=引用 2 楼 baidu_36457652 的回复:] 不需要循环,出来的结果不放到实体表就是临时的。 可以用用表连接 select a.*,t1.mm from a left join(select id, sum(money) as mm from b group by id) t1 on a.id=t1.id
你好,谢谢回答。对于这个临时表我不太明白,如果这个临时表我还下一步还想用到,需要怎么处理?比如表一中还有每个人的存款限额,我想用临时表的总数和限额进行对比,这样能做到吗?可以在刚才选的时候多加上一列表一的存款限额吗?[/quote] select 字段 然后into 新表 就会生成一张表

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧