关于网友提出的“ 为什么查询得不到正确的结果”问题疑问,本网通过在网上对“ 为什么查询得不到正确的结果”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 为什么查询得不到正确的结果
描述: 问题描述:
表AA里有 040111301224 邓建浩 2007229784 300(学号,姓名,号码,收费金额)
040111301224 邓建浩 2007238955 300 (在这个表里2007238955是主键,可能有多条主键相同的数据)
表BB里有 040111301224 邓建浩 08计本一班 (040111301224是这个表里的主键)
表CC里有 08计本一班 学期 2000 200 (班级,金额1,金额2。这里08计本一班 学期是一个主键,也有多条数据)
问题是:我怎么得到学号、姓名、班级 收费金额总和 金额1总和 金额2总和 我得到的结果不对,帮看下谢谢
select stuinfo.stunumber,stuinfo.stuname,stuinfo.classname,sum(chargeinfo.chargemoney),
sum(chargestandardinfo.tuition),sum(chargestandardinfo.bookfee)
from stuinfo,chargeinfo,chargestandardinfo
where stuinfo.stunumber=chargeinfo.stunumber and stuinfo.classname=chargestandardinfo.classname and 1=1
group by
chargeinfo.chargemoney,chargestandardinfo.tuition,chargestandardinfo.bookfee,stuinfo.stunumber,stuinfo.stuname,stuinfo.classname
040111400410 谢文清 08法学(函)本 600.0000 2600.0000 600.0000
040111400603 李泽林 08法学(函)本 600.0000 2600.0000 600.0000
040111401802 欧吉 08法学(函)本 600.0000 2600.0000 600.0000
040111402116 冼慧萍 08法学(函)本 600.0000 2600.0000 600.0000
040111300815 黄灿艺 08法律事务(函)专 600.0000 4000.0000 .0000
040111301017 黄大泽 08法律事务(函)专 300.0000 2000.0000 .0000
040111301113 李嘉源 08法律事务(函)专 600.0000 4000.0000 .0000
040111301122 黄广鸿 08法律事务(函)专 600.0000 4000.0000 .0000
我得到的第五列的数据有错,不知道怎么会这样,要是没有加上sum的话就得到的是相同学号的多条数据,怎么把相同学号的金额加起来?
就查询到这样的数据,怎么把相同学号的金额起来?
解决方案1:
恩恩恩
解决方案2: 把表结构和测试数据贴上来,然後再写出需求。。。。。。。。
解决方案3: 同学,你应该把表结构贴上来,然后告诉大家你需要什么样的结果,这样才有意义啊!
解决方案4: 主键怎麽会有重复的记录吗?是不是建立的数据表有问题??认真检查一下,直接关联表on学号後再sum...
解决方案5: 可能有多条主键相同的数据???,如果是主键,就不可能允许重复
以上介绍了“ 为什么查询得不到正确的结果”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3154897.html