$sql="select sum(fen.分数),fen.学生号 from name,fen where fen.学生号=name.学生号 where name.姓名=你要查找的学生姓名";
$rs=mysql_query($sql);
list($sum,$no)=mysql_fetch_row($rs);
echo $no.$sum;

解决方案 »

  1.   

    name表
    号 姓名
    id name
    fen表
    号 分数
    id score
    提交的姓名
    $name$result="select name.id,sum(fen.score) from name,fen where name.id=fen.id and name.name='".$name."' group by name.id";
      

  2.   

    呵呵,的确如楼上的,忘了那个GROUP BY 见笑见笑
      

  3.   

    如果改为:
    name表中有:学生号和姓名和科目(数学、英语)
    fen表中有: 科目和分数请问如何算出这名学生所有科目的总分数呢?
      

  4.   

    科目
    subjet
    fen表中必须有学生号(id),不然无法和name表找到对应关系。
    你的意思是想加上科目是吧?要这样建表
    fen表
    号 科目    分数
    id subject score
    $result="select name.id,fen.subject,sum(fen.score) from name,fen where name.id=fen.id and name.name='".$name."' group by name.id,fen.subject";
      

  5.   

    我想通过科目建立联系,另外,name表中的姓名都是一个人,但是科目有许多。谢谢!
      

  6.   

    那样的话你通过什么确定fen表中的成绩是哪个学生的呢?
      

  7.   

    我再详细说些:
    name表中有:学生号和姓名和科目(数学、英语等)
    fen表中有: 科目和分数
    如果一名学生输入她的姓名后,怎么算出她所有科目的总分数呢?
    name和fen的联系是科目(假定name表中只有一名学生)谢谢
      

  8.   

    select sum(score) from fen;
      

  9.   

    如果是这样,那么我认为楼主就没有必要分name和fen表了,直接放在一个表中岂不是更简单。
      

  10.   

    其实你这样建表很不合理。
    这样的话,在name表中,即使只有一个学生,也要有n条记录。格式如下:
    id name subject
    1  tom  语文
    1  tom  数学
    1  tom  英语
      

  11.   

    如果你的表中只有一个学生,用
    select sum(score) from fen;就得到他所有科目的成绩了。
      

  12.   

    $query=mysql_query("select name.id,name.subject,fen.score from name,fen where name.subject=fen.subject");
    while($arr=mysql_fetch_array($query)){
      $totalscore+=$arr['score'];
    }