日期:2014-05-18  浏览次数:20569 次

用友一道数据库面试题 难啊
三张表
student            
学号             名       专业号
project
项目号         名         每小时的工钱
student&PrJ
学号             项目号     项目工时      

第三个表关联一二个表,   项目费=     每小时钱*   项目工时

让求每个系   每个项目的费用。呵呵,用sql语句不用程序啊
头疼死我了,   做不上。

------解决方案--------------------
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 专业号, 项目号

没调试,不知道你说的每个系是不是这里的专业号
------解决方案--------------------
select 专业号,project.项目号,sum(项目工时*每小时的工钱) as 项目的费用 from student,project,student&PrJ where student&PrJ.学号=student.学号 and project.项目号=project.项目号 gruop by project.项目号,专业号

------解决方案--------------------
select sum(每小时钱*项目工时)
from student&PrJ prj
student stu
project pro
where prj.学号 = stu.学号
pro.项目号 = prj.项目号
pro.名 = stu.名
group by stu.专业号


太简单了
------解决方案--------------------
不好意思,扫了一眼题目,结果写错了!
正确的答案是:
select sum(每小时钱*项目工时)
from student&PrJ prj
,student stu
,project pro
where prj.学号 = stu.学号
AND pro.项目号 = prj.项目号
GROUP BY stu.专业号
,pro.项目号
------解决方案--------------------
还错,靠!没测过的代码就是不行,哎!
SELECT sum(pro.每小时钱*prj.项目工时)
FROM student&PrJ prj
,student stu
,project pro
WHERE prj.学号 = stu.学号
AND pro.项目号 = prj.项目号
GROUP BY stu.专业号
,pro.项目号

------解决方案--------------------
我是这样写的了:
{
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
}