用友一道数据库面试题 难啊
三张表
student
学号 名 专业号
project
项目号 名 每小时钱
student&PrJ
学号 项目号 项目工时
第三个表关联一二个表, 项目费= 每小时钱* 项目工时
让求每个系 每个项目的费用。呵呵,用sql语句不用程序啊
头疼死我了, 做不上。
------解决方案--------------------我猜测是这个意思:
T_student(sno,sname,dno)
T_project(pno,pname,money)
T_ps(sno,pno,hours)
select ts.dno,tp.pname,sum(hours*money) as total
from T_student as ts,T_projiect as tp,T_ps as tps
where ts.sno=tps.sno and tp.pno=tps.pno
group by ts.dno,tp.pname;
------解决方案--------------------001 陈真 计算机
002 张三 电子
003 王二 计算机
001 电力Mis 20
002 进出口ERP 30
001 001 7
001 002 6
002 001 5
002 002 4
003 001 10
003 002 8
------解决方案--------------------晕 你问题不描述清楚 我如何给你回答呀
select spe_no,sum(cc) from (
select c.spe_no,b.per_hour_mon * a.pro_hours cc from pro_stu a,project b,student c where a.stu_
= c.stu_no and a.pro_no=b.pro_no)
group by spe_no
这个是大致的问题
SQL> desc student
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
STU_NO VARCHAR2(10)
NAME VARCHAR2(20)
SPE_NO VARCHAR2(10)
SQL> desc project
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PRO_NO VARCHAR2(10)
PRO_NAME VARCHAR2(20)
PER_HOUR_MON NUMBER
SQL> desc pro_stu
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
STU_NO VARCHAR2(10)
PRO_NO VARCHAR2(10)
PRO_HOURS NUMBER
------解决方案--------------------select spe_no,sum(cc) from (
select c.spe_no,b.per_hour_mon * a.pro_hours cc
from pro_stu a,project b,student c where a.stu_no
= c.stu_no and a.pro_no=b.pro_no)
group by spe_no