SELECT DISTINCT A.SETID , A.TD_TREE_ID , A.EFFDT , C.OPRID , A.TD_NODE_ID FROM PS_TD_TREE_NODE A , PS_TD_TREE_USERS B , PSOPRDEFN C WHERE A.SETID = B.SETID AND A.TD_TREE_ID = B.TD_TREE_ID AND A.EFFDT = B.EFFDT AND A.TD_NODE_ID = B.TD_NODE_ID AND ((B.TD_SECURITY_TYPE = 'U' AND B.TD_SECURITY_ID = C.OPRID) OR (B.TD_SECURITY_TYPE = 'R' AND (EXISTS ( SELECT 'X' FROM PSROLEUSER R WHERE R.ROLENAME = B.TD_SECURITY_ID AND R.ROLEUSER = C.OPRID)))) AND NOT EXISTS ( SELECT 'X' FROM PS_TD_TREE_USERS B1 , PSOPRDEFN C1 WHERE A.SETID = B1.SETID AND A.TD_TREE_ID = B1.TD_TREE_ID AND A.EFFDT = B1.EFFDT AND B1.TD_NODE_ID = A.TD_NODE_PARENT_ID AND B1.TD_SECURITY_ID = B.TD_SECURITY_ID AND ((B1.TD_SECURITY_TYPE = 'U' AND B1.TD_SECURITY_ID = C1.OPRID) OR (B1.TD_SECURITY_TYPE = 'R' AND (EXISTS ( SELECT 'X' FROM PSROLEUSER R1 WHERE R1.ROLENAME = B1.TD_SECURITY_ID AND R1.ROLEUSER = C1.OPRID)))))
|