一个非常简单而又奇怪的sql查询有关问题,请大家帮小弟我分析下,多谢

一个非常简单而又奇怪的sql查询问题,请大家帮我分析下,谢谢!
本帖最后由 ztt918zx 于 2014-03-31 15:35:10 编辑
非常简单的学生信息表和成绩表的联合查询,但是结果却总是重复组合,两个请大家帮我分析下,如何改进呢?谢谢!

信息表 infor1
姓名  班级
name  class  
张三  一班
张三  二班

成绩表score
姓名                     科目                 成绩
studentname  subjectname      score
张三                      语文                       90
张三                      语文                       80


sql = "select distinct infor1.name,infor1.Class,score.score from infor1,score  where infor1.name=score.studentname and score.subjectname='语文' order by infor1.Class ASC"


查询结果(幸亏sql中还用了distinct,否则就会有8个结果,呵呵 )
张三  一班    90
张三  一班    80
张三  二班    90
张三  二班    80

很多朋友会说,在成绩表中加入班级这一字段做区分不就行了吗,但是如果不能再成绩表中加入班级这一区分的字段,应该如何改正呢?谢谢
------解决方案--------------------
你缺少唯一识别键,不可能得到正确的结果
即便加上 class,也区分不出 “张三  一班” 对应 score 表的那条记录

按你的这个情况,唯一识别键应该是 学号。但你却没有
------解决方案--------------------
这数据库设计的很牛X。