select s.专业号, p.项目号, sum(项目工时 * 每小时的工钱) as 项目费
from student&PrJ s_p 
inner join project p on s_p.项目号 = p.项目号
inner join student s on s.学号 = s_p.学号
group by 专业号, 项目号没调试,不知道你说的每个系是不是这里的专业号

解决方案 »

  1.   

    select 专业号,project.项目号,sum(项目工时*每小时的工钱) as  项目的费用 from student,project,student&PrJ where  student&PrJ.学号=student.学号 and project.项目号=project.项目号 gruop by project.项目号,专业号
      

  2.   

    select sum(每小时钱*项目工时)
    from student&PrJ prj
         student     stu
         project     pro
    where prj.学号 = stu.学号
          pro.项目号 = prj.项目号
          pro.名 = stu.名
    group by stu.专业号
           太简单了
      

  3.   

    不好意思,扫了一眼题目,结果写错了!
    正确的答案是:
    select    sum(每小时钱*项目工时)
    from      student&PrJ prj
             ,student    stu
             ,project    pro
    where     prj.学号 = stu.学号
    AND       pro.项目号 = prj.项目号
    GROUP BY  stu.专业号
     ,pro.项目号
      

  4.   

    还错,靠!没测过的代码就是不行,哎!
    SELECT    sum(pro.每小时钱*prj.项目工时)
    FROM      student&PrJ prj
             ,student    stu
             ,project    pro
    WHERE     prj.学号 = stu.学号
    AND       pro.项目号 = prj.项目号
    GROUP BY  stu.专业号
    ,pro.项目号
      

  5.   

    写group by 的有点不负责任啊!我在oracle 里试着有错啊.
    好象group by 多了不行,为什么不能group by 好象是要搜的表里必须要有 group by 的字段,我把大家的答案试试,对了,只有20分,刚注册的穷啊,用join ,left join inner join 什么的我只会写两个表的,写一个三个表的让学习一下了,谢谢啊.
      

  6.   

    二楼的 inner join 真没有试,我试一下啊
      

  7.   

    我是这样写的了:
    {
    SELECT EVERYCFEE.XNO,SUM(EVERYCFEE.MONEY) FEE FROM
    (SELECT C.XNO,EVERYSTUFEE.[MONEY] FROM(SELECT B.SNO,B.PROTIME*A.HOURMONEY AS MONEY FROM PROJECT A
    ,[STUDENT&PRJ] B WHERE A.PNO=B.PNO) EVERYSTUFEE,STUDENT C WHERE
    EVERYSTUFEE.SNO=C.SNO) EVERYCFEE GROUP BY EVERYCFEE.XNO
    }