Advertisement
Guest User

Untitled

a guest
Jun 11th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.85 KB | None | 0 0
  1. WITH
  2. tests AS (
  3.     SELECT
  4.         t.PLANT_ID,
  5.         t.WELL_ID,
  6.         t.FUNC_LOC_NM,
  7.         t.FUNC_LOC_SUPERIOR_ID,
  8.         t.FUNC_LOC_MANUF_NM,
  9.         t.FUNC_LOC_MANUFMODELNO_NO,
  10.         t.LAST_TEST_FLG,
  11.         t.MEASUREMENT_DATE_DT,
  12.         t.NEXT_TEST_DATE_DT,
  13.         t.CURRENT_PM_SCHEDULE_TYPE_CD,
  14.         t.PM_SCHEDULE_TYPE_CD,
  15.         LAG(t.PM_SCHEDULE_TYPE_CD, 1) OVER(PARTITION BY t.FUNC_LOC_NM ORDER BY t.MEASUREMENT_DATE_DT) AS PM_SCHEDULE_TYPE_CD_1,
  16.         LAG(t.PM_SCHEDULE_TYPE_CD, 2) OVER(PARTITION BY t.FUNC_LOC_NM ORDER BY t.MEASUREMENT_DATE_DT ) AS PM_SCHEDULE_TYPE_CD_2,
  17.         LAG(t.PM_SCHEDULE_TYPE_CD, 3) OVER(PARTITION BY t.FUNC_LOC_NM ORDER BY t.MEASUREMENT_DATE_DT ) AS PM_SCHEDULE_TYPE_CD_3,
  18.         COUNT(*) OVER (PARTITION BY t.FUNC_LOC_NM) AS TEST_COUNT
  19.         FROM WIP_PM_TEST_DETAIL t
  20.         WHERE t.FUNC_LOC_NM LIKE '%GLV%'
  21.         AND t.category_txt <> 'GLESDV'
  22.         AND t.measurement_valuation_code = 'A'
  23.         ORDER BY t.FUNC_LOC_NM
  24. )
  25. SELECT
  26.      tests.PLANT_ID
  27.     ,tests.WELL_ID
  28.     ,tests.FUNC_LOC_NM AS FUNC_LOC
  29.     ,tests.FUNC_LOC_SUPERIOR_ID AS POCKET
  30.     ,tests.FUNC_LOC_MANUF_NM AS MANUFACTURER
  31.     ,tests.FUNC_LOC_MANUFMODELNO_NO AS MODEL_NUMBER
  32.     ,equipGroup.NAME AS LFL_GROUP
  33.     ,equipInfo.EQUIP_VALID_FROM_DT AS INSTALL_DATE
  34.     ,tests.MEASUREMENT_DATE_DT AS LAST_TEST_DATE
  35.     ,tests.NEXT_TEST_DATE_DT AS NEXT_TEST_DATE
  36.     ,tests.CURRENT_PM_SCHEDULE_TYPE_CD AS CURRENT_SCHEDULE
  37.     ,tests.PM_SCHEDULE_TYPE_CD AS PREVIOUS_SCHEDULE_1
  38.     ,tests.PM_SCHEDULE_TYPE_CD_1 AS PREVIOUS_SCHEDULE_2
  39.     ,tests.PM_SCHEDULE_TYPE_CD_2 AS PREVIOUS_SCHEDULE_3
  40.     ,tests.PM_SCHEDULE_TYPE_CD_3 AS PREVIOUS_SCHEDULE_4
  41.     ,tests.TEST_COUNT
  42. FROM tests
  43.  
  44. -- ## Left join only on wip_mart_equipment_rows with the most recent install date for each equipment
  45. LEFT JOIN
  46.     (
  47.         SELECT wip_mart_equip_info.*
  48.         FROM wip_mart_equip_info    
  49.         inner join (
  50.                         SELECT FRONT_END_ID,
  51.                         MAX(EQUIP_VALID_FROM_DT) OVER(PARTITION BY equip_manuf_nm, equip_manufmodelno_no) AS maximum_date
  52.                         FROM wip_mart_equip_info
  53.                     ) maxDates
  54.                     ON maxDates.FRONT_END_ID = wip_mart_equip_info.front_end_id
  55.                     AND maxDates.maximum_date = wip_mart_equip_info.EQUIP_VALID_FROM_DT
  56.     ) equipInfo
  57.     ON equipInfo.EQUIP_MANUF_NM = tests.FUNC_LOC_MANUF_NM
  58.     AND equipInfo.EQUIP_MANUFMODELNO_NO = tests.FUNC_LOC_MANUFMODELNO_NO
  59.  
  60. LEFT JOIN WIP_EQUIPMENT_MASTER equipMaster
  61.     ON equipInfo.EQUIP_MANUF_NM = equipMaster.MANUFACTURER
  62.     AND equipInfo.EQUIP_MANUFMODELNO_NO = equipMaster.MODEL_NAME
  63. LEFT JOIN WIP_EQUIPMENT_GROUP equipGroup
  64.     ON equipMaster.EQUIPMENT_GROUP_ID = equipGroup.ID    
  65.    
  66. WHERE tests.LAST_TEST_FLG='Y'
  67. ORDER BY PLANT_ID, WELL_ID, tests.FUNC_LOC_NM, MEASUREMENT_DATE_DT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement