--从用户职别取
select sehd.person_id,sehd.last_name, fv.dept_id,sehd.dept_name
from (
select papv.person_id, papv.last_name,ppdv.dept_name
from
(--用户表
select pap.person_id,pap.last_name from PER_ALL_PEOPLE_F pap
where SYSDATE BETWEEN nvl(pap.EFFECTIVE_START_DATE,sysdate) AND nvl(pap.EFFECTIVE_END_DATE,sysdate)
) papv,
(--用户职位表
select paaf.person_id,paaf.position_id
from PER_ALL_ASSIGNMENTS_F paaf
where SYSDATE BETWEEN nvl(paaf.EFFECTIVE_START_DATE,sysdate) AND nvl(paaf.EFFECTIVE_END_DATE,sysdate)
) paafv,
(--职位与职位定义表
select papos.position_id,papos.position_definition_id
from PER_ALL_POSITIONS papos
) paposv,
(--职位定义表
select ppd.position_definition_id,ppd.segment1 dept_name from PER_POSITION_DEFINITIONS ppd
)ppdv
where papv.person_id=paafv.person_id(+)
and paafv.position_id=paposv.position_id(+)
and paposv.position_definition_id=ppdv.position_definition_id(+)
) sehd,
(
select dept_name,dept_id
from(
select fvv.FLEX_VALUE dept_name,fvv.FLEX_VALUE_ID dept_id
,row_number()
over(PARTITION BY fvv.FLEX_VALUE ORDER BY fvv.FLEX_VALUE_ID ) rn
from FND_FLEX_VALUES_VL fvv
where fvv.FLEX_VALUE_SET_ID=1007707 and fvv.ENABLED_FLAG='Y'
) fvv
) fv
where sehd.dept_name=fv.dept_name(+)
and sehd.dept_name is null
值集定义在
secom_position_dept