IRC_GEO_HIER_HIRING_V
Details
-
Schema: FUSION
-
Object owner: IRC
-
Object type: VIEW
Columns
Name |
---|
GEOGRAPHY_NODE_ID GEOGRAPHY_ID HIERARCHY_ID GEOGRAPHY_NAME COUNTRY_NAME |
Query
SQL_Statement |
---|
WITH ActiveHierarchy AS ( SELECT H1.HIERARCHY_ID FROM IRC_GEO_HIERARCHIES H1 WHERE H1.STATUS_CODE = 'ORA_ACTIVE' AND H1.START_DATE <= SYSDATE AND NOT EXISTS (SELECT 1 FROM IRC_GEO_HIERARCHIES H2 WHERE H2.HIERARCHY_ID <> H1.HIERARCHY_ID AND H2.START_DATE > H1.START_DATE AND H2.STATUS_CODE = 'ORA_ACTIVE' AND H2.START_DATE <= SYSDATE) ), GeographyNames AS ( SELECT IRC_GEO_HIER_NODES_OPTI.GEOGRAPHY_NODE_ID AS GEOGRAPHY_NODE_ID, IRC_GEO_HIER_NODES_OPTI.RELATIVE_LEVEL AS RELATIVE_LEVEL, IRC_GEO_HIER_NODES_IDEN.GEOGRAPHY_NAME AS GEOGRAPHY_NAME FROM IRC_GEO_HIER_NODES_OPTI, IRC_GEO_HIER_NODES_IDEN, ActiveHierarchy WHERE IRC_GEO_HIER_NODES_OPTI.HIERARCHY_ID = ActiveHierarchy.HIERARCHY_ID AND IRC_GEO_HIER_NODES_IDEN.GEOGRAPHY_NODE_ID in IRC_GEO_HIER_NODES_OPTI.PARENT_GEO_NODE_ID /* Geography Hierarchy Node identifier filtering */ /* we look for an identifier with user lang first, else we take the oldest primary identifier */ AND IRC_GEO_HIER_NODES_IDEN.IRC_GEO_HIER_NODES_IDENT_ID = (SELECT IRC_GEO_HIER_NODES_IDENT_ID FROM (SELECT IRC_GEO_HIER_NODES_IDENT_ID FROM IRC_GEO_HIER_NODES_IDEN WHERE GEOGRAPHY_NODE_ID = IRC_GEO_HIER_NODES_OPTI.PARENT_GEO_NODE_ID /* order by user lang first, primary second and creation date asc third */ ORDER BY DECODE(LANGUAGE_CODE, USERENV('LANG'), 1, 2) ASC, PRIMARY_FLAG DESC, CREATION_DATE ASC ) WHERE ROWNUM = 1) ) SELECT GHN.GEOGRAPHY_NODE_ID AS GEOGRAPHY_NODE_ID, (SELECT GEOGRAPHY_ID FROM IRC_GEO_HIER_NODES WHERE GEOGRAPHY_NODE_ID = GHN.GEOGRAPHY_NODE_ID) AS GEOGRAPHY_ID, GHN.HIERARCHY_ID AS HIERARCHY_ID, listAgg(GeographyNames.GEOGRAPHY_NAME, ', ') WITHIN GROUP (ORDER BY GeographyNames.RELATIVE_LEVEL ASC) AS GEOGRAPHY_NAME, MIN(GeographyNames.GEOGRAPHY_NAME) keep(dense_rank last order by GeographyNames.RELATIVE_LEVEL ASC) COUNTRY_NAME FROM IRC_GEO_HIER_NODES GHN, GeographyNames, ActiveHierarchy WHERE GeographyNames.GEOGRAPHY_NODE_ID = GHN.GEOGRAPHY_NODE_ID AND GHN.HIERARCHY_ID = ActiveHierarchy.HIERARCHY_ID GROUP BY GHN.GEOGRAPHY_NODE_ID, GHN.HIERARCHY_ID |