Blame | Last modification | View Log | RSS feed
/* Find release name */SELECT DISTINCTMIN(qry.DISPLAY_ORDER) OVER (PARTITION BY qry.RTAG_NAME) AS DISPLAY_MIN,qry.RTAG_ID,qry.RTAG_NAME,qry.proj_name,qry.proj_id,qry.officialFROM (/* Exact match */SELECT 1 AS DISPLAY_ORDER,rt.RTAG_ID,rt.RTAG_NAME,p.proj_name,p.proj_id,rt.officialFROM RELEASE_TAGS rt, PROJECTS pWHERE UPPER(rt.RTAG_NAME) = UPPER(:KEYWORD)AND p.proj_id = rt.proj_idUNION/* Starts with */SELECT 2 AS DISPLAY_ORDER,rt.RTAG_ID,rt.RTAG_NAME,p.proj_name,p.proj_id,rt.officialFROM RELEASE_TAGS rt, PROJECTS pWHERE UPPER(rt.RTAG_NAME) LIKE UPPER(:KEYWORD) ||'%'AND p.proj_id = rt.proj_idUNION/* Ends with */SELECT 3 AS DISPLAY_ORDER,rt.RTAG_ID,rt.RTAG_NAME,p.proj_name,p.proj_id,rt.officialFROM RELEASE_TAGS rt, PROJECTS pWHERE UPPER(rt.RTAG_NAME) LIKE '%'|| UPPER(:KEYWORD)AND p.proj_id = rt.proj_idUNION/* Middle of word */SELECT 4 AS DISPLAY_ORDER,rt.RTAG_ID,rt.RTAG_NAME,p.proj_name,p.proj_id,rt.officialFROM RELEASE_TAGS rt, PROJECTS pWHERE UPPER(rt.RTAG_NAME) LIKE '%'|| UPPER(:KEYWORD) ||'%'AND p.proj_id = rt.proj_id) qryORDER BY DISPLAY_MIN, UPPER(qry.RTAG_NAME)