题目如下:
下表是某公司的部门变迁记录表DEPT_CHG:
Id Deptcode Deptname Effectivedate Reason
(部门编码) (部门名称) (生效日期) (变动原因) 1 101 财务部 2000/5/1 成立
2 10101 财务部1 2000/6/1 成立
3 10102 财务部2 2000/7/1 成立
3 102 行政部 2000/6/5 成立
10201 行政部1 2000/6/9 成立
103 销售部1 2000/7/5 成立
101 财务部(公司) 2001/5/1 更名
102 行政部(公司) 2001/6/5 更名
102 财务部(集团) 2002/10/10 更名
10101 财务部(公司) 2001/5/1 更名问题:
1.查询出所有部门的最新信息(Deptcode,Effectivedate,Deptname),写出相应的sql语句。
注:1.部门编码是部门的唯一标示,不会被改变。
2.部门名称信息应该以最后生效的部门为准。
2.查询出包含下级部门并发生过更名的部门。原题。一字不易。求达人给个答案学习下~~~
下表是某公司的部门变迁记录表DEPT_CHG:
Id Deptcode Deptname Effectivedate Reason
(部门编码) (部门名称) (生效日期) (变动原因) 1 101 财务部 2000/5/1 成立
2 10101 财务部1 2000/6/1 成立
3 10102 财务部2 2000/7/1 成立
3 102 行政部 2000/6/5 成立
10201 行政部1 2000/6/9 成立
103 销售部1 2000/7/5 成立
101 财务部(公司) 2001/5/1 更名
102 行政部(公司) 2001/6/5 更名
102 财务部(集团) 2002/10/10 更名
10101 财务部(公司) 2001/5/1 更名问题:
1.查询出所有部门的最新信息(Deptcode,Effectivedate,Deptname),写出相应的sql语句。
注:1.部门编码是部门的唯一标示,不会被改变。
2.部门名称信息应该以最后生效的部门为准。
2.查询出包含下级部门并发生过更名的部门。原题。一字不易。求达人给个答案学习下~~~
解决方案 »
- UPDATE卡住鸟
- Oracle中的ST_FUNCS_ARRAY什么类型 和sql中的什么类型对应啊???
- OEM的问题
- 忘记sys,system和sysman的口令,,如何进入系统
- 把使用sqlserver的项目改为用oracle,改动的地方都有哪些?java b/s的项目。
- oracle还原库命令问题
- 求一个SQL语句,急。
- 在触发器中怎么将long类型的数据写到varchar2中去??
- 2个left join on语句如何表达?
- oracle 中datebase link 的问题?
- create profile中的limit是什么作用?
- 在装Oracle10g时 错误提示:”指定的SID本机上已存在 请指定一个不同的SID“该怎么办啊???
第一列的1 2 3 3 都是Id,后边那些以10打头的数字是部门编码。
csdn啥时候能直接让在帖子里贴图片呀 郁闷~~~
用row_number() over()就可以了select *
from (
select t.*,
row_number() over(partition by Deptcode order by Effectivedate desc) rn
from DEPT_CHG t
) x
where x.rn = 1
2)变化是指:
a. 该部门发生了变化
b. 该部门的下级部门发生了变化
c. a and b
d. a or b
没理解这个变更