用友一道数据库面试题 难啊
三张表
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
}