表A1(用户表)户与表A2(职位表)为一对多关系,
表A1:(
a000;//id
b000;//部门
a0101;//姓名
)
表A2:(
a000;//a1的ID
b000;//变动的部门ID
a201;//变动的职位ID
a202;//职位开始时间(date)
a203;//职位结束时间(date)
)
请问怎么算出某用户的全部变动部门(用可,分开),累计经历时间;如结果:
姓名(a0101) 所在机构(多个A2.b000) 岗位(多个A2.a201) 累计月份(多个a203-a202之和)
王码 dept1,dept2,dept3 aa,bb,cc 30
表A1:(
a000;//id
b000;//部门
a0101;//姓名
)
表A2:(
a000;//a1的ID
b000;//变动的部门ID
a201;//变动的职位ID
a202;//职位开始时间(date)
a203;//职位结束时间(date)
)
请问怎么算出某用户的全部变动部门(用可,分开),累计经历时间;如结果:
姓名(a0101) 所在机构(多个A2.b000) 岗位(多个A2.a201) 累计月份(多个a203-a202之和)
王码 dept1,dept2,dept3 aa,bb,cc 30
解决方案 »
- 求一个存储过程
- 请高手帮忙...
- 在vmware下,oracle10g R2 rac for win2K3 安装问题,郁闷
- oracle package里面procedure调用function的问题,在线等结果
- 请教一个函数,如果把日期型转成number(8)型
- A库是8i,B库是9i,请问使用什么方法做到数据同步?
- controlfile文件丢失了,如何恢复呢?帮帮忙!!
- 大哥,快救我!关于表的复制问题,高手请帮忙!!
- 求助!怎么在同一个表中将某字段的值更新为该字段为null的时候的值
- Java链接Oracle抛异常,但是用PLSQL能连上
- 能否通过一次查询实现如下功能。
- ORACLE WRAP PLS-00114
from a1,a2 where a1.a000 = a2.a000 group by a0101;
还有一个问题,职位结束时间a203可能没有,因为有在职的情况,如果是在正,则取当前系统时间,SQL怎么补写上?多谢!
from a1,a2 where a1.a000 = a2.a000 group by a0101;
wmsys.wm_concat用户名为:wmsys,函数名为:wm_concat
我刚试了下
select a000,a0101,wmsys.wm_concat(a2.b000),wmsys.wm_concat(a2.a201), floor(sum(nvl(a203,sysdate)-a202)/30)
from a1,a2 where a1.a000 = a2.a000 group by a0101;
加上"a000"后,这个语句就执行不了了,但是这个用户ID主键也是必须要取出来的.
我刚试了下
select a000,a0101,wmsys.wm_concat(a2.b000),wmsys.wm_concat(a2.a201), floor(sum(nvl(a203,sysdate)-a202)/30)
from a1,a2 where a1.a000 = a2.a000 group by a0101;
加上"a000"后,这个语句就执行不了了,但是这个用户ID主键也是必须要取出来的.希望大家多多指教.