Code:
SELECT -ConferenceID AS event_id_dd
, migration_new_gab AS system_full_name
, CASE WHEN INSTR( migration_orig_gab, REGEXP_SUBSTR( ConferenceName, '([[:digit:]]{3,})' ) )
!= 0
THEN CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'HOST'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'HOST'
WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'CONSULTANT'
WHEN REGEXP_INSTR( ConferenceReference, '^HOLD', 1, 1, 0, 'i' ) != 0
THEN 'HOLD'
WHEN REGEXP_INSTR( ConferenceReference, '^t(est)?', 1, 1, 0, 'i' ) != 0
THEN 'TEST'
ELSE 'Unknown'
END
WHEN INSTR( REPLACE( migration_system_number, '-' ), REGEXP_SUBSTR( ConferenceName, '([[:digit:]]{3,})' ) )
!= 0
THEN CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'HOST'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'HOST'
WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'CONSULTANT'
WHEN REGEXP_INSTR( ConferenceReference, '^HOLD', 1, 1, 0, 'i' ) != 0
THEN 'HOLD'
WHEN REGEXP_INSTR( ConferenceReference, '^t(est)?', 1, 1, 0, 'i' ) != 0
THEN 'TEST'
ELSE 'Unknown'
END
WHEN REGEXP_INSTR( ConferenceName, '(HOLD|TEST)', 1, 1, 0, 'i' ) != 0
THEN 'WEST'
ELSE CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'PARTICIPANT'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'PARTICIPANT'
WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'PATIENT'
WHEN REGEXP_INSTR( ConferenceReference, '^HOLD', 1, 1, 0, 'i' ) != 0
THEN 'HOLD'
WHEN REGEXP_INSTR( ConferenceReference, '^t(est)?', 1, 1, 0, 'i' ) != 0
THEN 'TEST'
ELSE 'Unknown'
END
END AS System_Role
,
CASE WHEN INSTR( migration_orig_gab, REGEXP_SUBSTR( ConferenceName, '([[:digit:]]{3,})' ) )
!= 0
THEN CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'Nominated HOST based on Original GAB in Migration Database'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'Nominated HOST based on Original GAB in Migration Database'
WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'Nominated CONSULTANT based on Original GAB in Migration Database'
WHEN REGEXP_INSTR( ConferenceReference, '^HOLD', 1, 1, 0, 'i' ) != 0
THEN 'HOLD'
WHEN REGEXP_INSTR( ConferenceReference, '^t(est)?', 1, 1, 0, 'i' ) != 0
THEN 'TEST'
ELSE 'Unknown'
END
WHEN INSTR( REPLACE( migration_system_number, '-' ), REGEXP_SUBSTR( ConferenceName, '([[:digit:]]{3,})' ) )
!= 0
THEN CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'Nominated HOST based on System Number in Migration Database'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'Nominated HOST based on System Number in Migration Database'
WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'Nominated CONSULTANT based on System Number in Migration Database'
WHEN REGEXP_INSTR( ConferenceReference, '^HOLD', 1, 1, 0, 'i' ) != 0
THEN 'HOLD'
WHEN REGEXP_INSTR( ConferenceReference, '^t(est)?', 1, 1, 0, 'i' ) != 0
THEN 'TEST'
ELSE 'Unknown'
END
WHEN REGEXP_INSTR( ConferenceName, '(HOLD|TEST)', 1, 1, 0, 'i' ) != 0
THEN 'Nominated as Host or Test conference based on the word hold or test in the ConferenceName'
ELSE CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'Nominated PARTICIPANT'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'Nominated PARTICIPANT'
WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'Nominated PATIENT'
WHEN REGEXP_INSTR( ConferenceReference, '^HOLD', 1, 1, 0, 'i' ) != 0
THEN 'HOLD'
WHEN REGEXP_INSTR( ConferenceReference, '^t(est)?', 1, 1, 0, 'i' ) != 0
THEN 'TEST'
ELSE 'Unknown'
END
END AS Role_Description
, CASE WHEN INSTR( migration_orig_gab, REGEXP_SUBSTR( ConferenceName, '([[:digit:]]{3,})' ) )
!= 0
THEN CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'Y'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'Y'
ELSE 'N'
END
WHEN INSTR( REPLACE( migration_system_number, '-' ), REGEXP_SUBSTR( ConferenceName, '([[:digit:]]{3,})' ) )
!= 0
THEN CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?A' ) != 0
THEN 'Y'
WHEN REGEXP_INSTR( ConferenceReference, '^S?E' ) != 0
THEN 'Y'
ELSE 'N'
END
WHEN REGEXP_INSTR( ConferenceName, '(HOLD|TEST)', 1, 1, 0, 'i' ) != 0
THEN 'N'
ELSE CASE WHEN REGEXP_INSTR( ConferenceReference, '^S?C' ) != 0
THEN 'Y'
ELSE 'N'
END
END AS Host_Studio_Flag
, CASE
WHEN REGEXP_INSTR( ConferenceName, '(HOLD|TEST)', 1, 1, 0, 'i' ) = 0
THEN 1
ELSE 0
END AS num_event
FROM migration_database_site si
, migration_database_studio st
, otn_west_activity owa
WHERE ( TRIM(UPPER(migration_orig_gab)) = TRIM(UPPER(owa.resourcename))
OR TRIM(UPPER(migration_new_gab)) = TRIM(UPPER(owa.resourcename))
)
AND ConferenceReference IS NOT NULL
AND ConferenceStart IS NOT NULL
AND st.migration_otn_site_number = si.migration_otn_site_number (+)
--AND UPPER('%%Inclusion%%') LIKE '%WEST%'
ORDER BY event_id_dd
, system_full_name