SELECT TR.SETID , TR.SETCNTRLVALUE , TR.TREE_NAME , TR.EFFDT , EMP.EMPLID , EMP.EMPL_RCD , SUP.EMPLID , SUP.EMPL_RCD , TR.TREE_NODE , TR.PARENT_NODE_NAME , A.SETID_JOBCODE , A.JOBCODE , A.SETID_DEPT , A.DEPTID , A.SETID_LOCATION , A.LOCATION FROM PSTREENODE TR , PS_HRCD_JOB_TREE EMP , PS_HRCD_JOB_TREE SUP , PS_JOB A WHERE TR.TREE_NODE = EMP.TREE_NODE AND TR.PARENT_NODE_NAME = SUP.TREE_NODE AND A.EMPLID = EMP.EMPLID AND A.EMPL_RCD = EMP.EMPL_RCD AND A.EFFSEQ = ( SELECT MAX(EFFSEQ) FROM PS_JOB WHERE EMPLID = A.EMPLID AND EMPL_RCD = A.EMPL_RCD AND EFFDT = A.EFFDT) AND A.EFFDT = ( SELECT MAX(E.EFFDT) FROM PS_JOB E WHERE E.EMPLID = A.EMPLID AND E.EMPL_RCD = A.EMPL_RCD AND E.EFFDT <= TR.EFFDT) UNION SELECT TR.SETID , TR.SETCNTRLVALUE , TR.TREE_NAME , TR.EFFDT , EMP.EMPLID , EMP.EMPL_RCD , SUP.EMPLID , SUP.EMPL_RCD , TR.TREE_NODE , TR.PARENT_NODE_NAME , ' ' , A.JOBCODE , ' ' , A.DEPTID , ' ' , A.LOCATION FROM PSTREENODE TR , PS_HRCD_JOB_TREE EMP , PS_HRCD_JOB_TREE SUP , PS_POSITION_DATA A WHERE TR.TREE_NODE = EMP.TREE_NODE AND TR.PARENT_NODE_NAME = SUP.TREE_NODE AND 'EP$' %Concat A.position_nbr = EMP.EMPLID AND A.EFFDT = ( SELECT MAX(E.EFFDT) FROM PS_POSITION_DATA E WHERE E.POSITION_NBR = A.POSITION_NBR AND E.EFFDT <= TR.EFFDT)
|