注册 登录
编程论坛 VFP论坛

在 成绩表.dbf中,能把学籍号相同的学生的两次总分相加后填在总分1中?谢谢!

xazxhy 发布于 2020-11-26 07:08, 1639 次点击
学籍号     总分    总分1
202011      561    1186  
202011      625    1186
202012      711    1397
202012      686    1397


学籍号  总分   总分1  分别是成绩表.dbf中3个字段,请问可以用命令实现吗?
6 回复
#2
wengjl2020-11-26 07:51
sele 学籍号,sum(总分) as zf2 from 成绩表 grou by 学籍号 into tabl ls
sele ls
scan
  sele 成绩表
  repl 成绩表.总分1 with ls.zf2 for 成绩表.学籍号==ls.学籍号
  sele ls
endscan
retu

[此贴子已经被作者于2020-12-2 09:15编辑过]

#3
xuminxz2020-11-26 08:04
select 学籍号,sum(总分) as 总分 from 成绩表 group by 学籍号 into dbf 统计结果
#4
mywisdom882020-11-26 08:43
*!* 测试数据
*!* CREATE CURSOR CJB(学号 C(10),总分 N(5,2),总分1 N(5,2))
*!* INSERT INTO CJB(学号,总分,总分1) VALUES('202011',561,0)
*!* INSERT INTO CJB(学号,总分,总分1) VALUES('202011',625,0)
*!* INSERT INTO CJB(学号,总分,总分1) VALUES('202012',711,0)
*!* INSERT INTO CJB(学号,总分,总分1) VALUES('202012',686,0)

UPDATE T1 SET T1.总分1=T2.总分1 FROM CJB AS T1,(SELECT 学号,SUM(总分) AS 总分1 FROM CJB GROUP BY 学号) AS T2 WHERE T1.学号=T2.学号
只有本站会员才能查看附件,请 登录
#5
xazxhy2020-11-26 13:35
回复 3楼 xuminxz
我是要统计在总分1字段中
#6
xazxhy2020-11-30 11:34
回复 4楼 mywisdom88
谢谢
#7
自强不西2020-12-13 21:16
update 成绩表 set 成绩表.总分1=aa.总分1 from (select 学籍号,sum(总分)as 总分1 from 成绩表 group by 学籍号) aa where 成绩表.学籍号==aa.学籍号
这个应该能解决你的问题。
1