第二书店论坛
欢迎光临第二书店论坛。激活帐号(说明:系统正在将老用户陆续填加到论坛中,如激活失败,请直接登陆!)
首页 搜索 用户列表 FAQ 注册 登录  
第二书店论坛 » 技术交流区 » 数据库技术 » 急!!ORACLE问题!!!!
  急!!ORACLE问题!!!!
帖子发起人: 艾山   发起时间: 2006-03-12 01:24 下午   回复数: 2
« 上一主题 下一主题 »
楼主
  2006-03-12, 01:24 下午
艾山 离线,最后访问时间: 2006-3-24 20:30:29 艾山

发帖数前50位
男

士兵
等级: 士兵
注册: 2006年3月4日
区域: 北京
积分: 13
精华: 0
发贴: 8
急!!ORACLE问题!!!!
 

使用emp表和dept表完成下列练习,表的结构说明如下

emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)

dept部门表(deptno部门编号/dname部门名称/loc地点)


1.列出所有员工的姓名及其直接上级的姓名。

2.列出受雇日期早于其直接上级的所有员工。


主要的问题是无法将EMPNO(员工编号)和MGR(上级编号)对应,从而无法和MNAME(员工姓名)互换。



IP 地址: 已登录   来自: 北京市网通    返回顶部
第 2 楼
  2006-03-14, 10:17 下午
艾山 离线,最后访问时间: 2006-3-24 20:30:29 艾山

发帖数前50位
男

士兵
等级: 士兵
注册: 2006年3月4日
区域: 北京
积分: 13
精华: 0
发贴: 8
Re: 急!!ORACLE问题!!!!
 
这是我的做法,需要建立新表:

1.列出所有员工的姓名及其直接上级的姓名。

--方法一:不新建表的方法
select ENAME 员工姓名,decode(MGR,7902,'FORD',7698,'BLAKE',7839,'KING',7566,'JONES',7788,'SCOTT',7782,'CLARK')from EMP;

--方法二:新建 EMPNO表(EMPNO,ENAME)
create table EMPNO as select EMPNO,ENAME from EMP;
select ENAME,(select ENAME from EMPNO where EMP.MGR=EMPNO.EMPNO) from EMP;



2.列出受雇日期早于其直接上级的所有员工。

-- 建立新表empmn(ENAME员工名,MGEN其上级名)
create table EMPMN as select ENAME,(select ENAME from EMPNO where EMP.MGR=EMPNO.EMPNO) MGRN from EMP;

IP 地址: 已登录   来自: 北京市网通    返回顶部
第 3 楼
  2006-05-19, 02:27 下午
cnlinya 离线,最后访问时间: 2006-6-29 9:20:07 cnlinya

无等级

士兵
等级: 士兵
注册: 2006年5月19日
积分: 1
精华: 0
发贴: 1
Re: 急!!ORACLE问题!!!!
 
真晕,用连接就可以了,居然让你弄得这么麻烦
IP 地址: 已登录   来自: 辽宁省大连市网通ADSL    返回顶部
 第 1 页 总共 1 页 [共有 3 条记录]
第二书店论坛 » 技术交流区 » 数据库技术 » 急!!ORACLE问题!!!!
: DearBook | CSDN | ̳

Asp.Net Forums version: 2.2.1929
(C)Copyright 2004-2005, hiDotNet.com. All Rights Reserved.
意见反馈 | 关于我们

Powered by Community Server :: Forums 中文本地化: hiDotNet.com