一个数据库查询与修改的问题(急)

时间:2021-08-31 09:32:46
本人做了一个教务管理系统,想查出来一个年级的所有学生应该交多少钱,并打印。
要求是每个学生的费用都显示。具体做法是:先查学生表查出其序号,然后根据序号
查科目表,看他选了几门课,然后去查课程表,看该课费用是多少,然后将该学生所有课程费用相加,得出该学生总的学费。同时用此学费减去费用表中的该学生实际所交的学费(按序号排列),得出其欠余费用。并通过DBGrid显示出来。
    请问如何实现这个功能。(我的想法是,先查出序号,然后根据序号来查询费用,然后用一个循环计算总的学费,将此学费写入费用表中。最后在显示时用实际费用减去循环计算所得的费用,但不知道怎么更新费用表中的数据)

3 个解决方案

#1


能否把你大概的几个用到的表的结构写出来,我帮你分析一下吧!

#2


大概是这样吧
学生表 S1
科目表 S2
课程表 C
费用表 F
select s1.no,sum(C.fee)-F.fee
  from s1,s2,C,F 
  where s1.no=s2.no 
    and s2.sno=C.sno
    and s1.no=F.no 
  group by s1.no,F.fee

#3


和上面写的差不多,主要是如何按序号定位,然后写到表里去

#1


能否把你大概的几个用到的表的结构写出来,我帮你分析一下吧!

#2


大概是这样吧
学生表 S1
科目表 S2
课程表 C
费用表 F
select s1.no,sum(C.fee)-F.fee
  from s1,s2,C,F 
  where s1.no=s2.no 
    and s2.sno=C.sno
    and s1.no=F.no 
  group by s1.no,F.fee

#3


和上面写的差不多,主要是如何按序号定位,然后写到表里去