just need one WITH clause:
--'****************************************************************************'
--''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
--'PURPOSE: - Query to Create a 'Table' housing
--' 1.) ASSET_ID
--' 2.) EVENT_TYPE
--' a) -1 Exit
--' b) 0 REO
--' c) 1 Aquired
--' 3.) EVENT_DATE
--' 4.) EVENT_UPB
--' 5.) EVENT_DESC
--' Unioned together in 1 table, 5 columns
--' instead of multiple tables, multiple Columns
--'
--'JOINS: - Joins to ASSET_ID
--'
--'
--'****************************************************************************'
--''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
WITH vxAST_MVT(
ASSET_ID,
EVENT_TYPE,
EVENT_DATE,
EVENT_UPB,
EVENT_DESC)
AS(
SELECT DISTINCT
a.ASSET_ID,
mvt.EVENT_TYPE,
mvt.EVENT_DATE,
mvt.EVENT_UPB,
mvt.EVENT_DESC
FROM V_US_ASSET a
INNER JOIN( SELECT ASSET_ID,1 EVENT_TYPE,asset_acquisition_date EVENT_DATE,UPB_ACQ EVENT_UPB,TRANSFER_REASON EVENT_DESC
FROM V_US_ASSET WHERE asset_acquisition_date IS NOT NULL AND TRANSFER_REASON IS NOT NULL
UNION
SELECT ASSET_ID,1,ASSET_REACTIVATION_DATE,UPB_AT_REACTIVATION,REACTIVATION_TRANSFER_REASON
FROM V_US_ASSET WHERE ASSET_REACTIVATION_DATE IS NOT NULL AND REACTIVATION_TRANSFER_REASON IS NOT NULL
UNION
SELECT ASSET_ID,1,REACTIVATION_SS_TRANSFER_DATE_HISTORICAL,REACTIVATION_UPB_SS_TRANSFER_AMT_HISTORICAL,REACTIVATION_TRANSFER_REASON_HISTORICAL
FROM V_US_ASSET WHERE REACTIVATION_SS_TRANSFER_DATE_HISTORICAL IS NOT NULL AND REACTIVATION_TRANSFER_REASON_HISTORICAL IS NOT NULL
UNION
SELECT ASSET_ID,-1,ACT_DISPO_DATE, UPB_DISPO, DISPO_FULL_TYPE
FROM V_US_DISPOSITIONS
UNION
SELECT ASSET_ID,-1 AS TYPES, act_tfr_master_serv_date,MOD_UPB,'RTM'
FROM V_US_RTM
UNION
SELECT vprop.ASSET_ID,0,vreo.FC_DATE_ACTUAL,NULL,NULL
FROM V_US_PROPERTY vprop INNER JOIN V_US_REO_FORECLOSURE vreo ON vreo.PROPERTY_SYS_ID = vprop.PROPERTY_SYS_ID)
mvt
ON a.ASSET_ID = mvt.ASSET_ID),
--'****************************************************************************'
--''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
--'PURPOSE: - Query to Create a 'Table' housing
--' 1.) ASSET_ID
--' 2.) Most Recent Valuation SUMMED AT Asset Level
--' 3.) Valuation Date
--' 4.) Valuation Type (Appraisal or BOV)
--'
--'
--'JOINS: - Joins to ASSET_ID
--'
--'
--'****************************************************************************'
--''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
vxVAL(ASSET_ID,
VAL_VALUE,
VAL_DATE,
VAL_TYPE) AS
(
SELECT vprop.ASSET_ID,
SUM(c.BOV_VALUE) AS VAL_VALUE,
MAX(c.BOV_DATE) AS VAL_DATE,
'BOV' AS VAL_TYPE
FROM V_US_PROPERTY vprop
INNER JOIN(SELECT a.PROPERTY_SYS_ID, a.BOV_DATE, a.BOV_VALUE
FROM BOV a
INNER JOIN (SELECT
xa.PROPERTY_SYS_ID,
MAX(xa.BOV_DATE) AS BOV_DATE
FROM BOV xa
GROUP BY xa.PROPERTY_SYS_ID) b
ON b.PROPERTY_SYS_ID = a.PROPERTY_SYS_ID
AND a.BOV_DATE = b.BOV_DATE) c
ON c.PROPERTY_SYS_ID = vprop.PROPERTY_SYS_ID
GROUP BY vprop.ASSET_ID
UNION
SELECT vprop.ASSET_ID,
SUM(c.CURR_APP_VALUE) AS CURR_APP_VALUE,
MAX(c.CURR_APP_DATE) AS CURR_APP_DATE,
'APP' AS TYPES
FROM V_US_PROPERTY vprop INNER JOIN(SELECT a.PROPERTY_SYS_ID, a.CURR_APP_DATE, a.CURR_APP_VALUE
FROM APPRAISAL a
INNER JOIN (SELECT
xa.PROPERTY_SYS_ID,
MAX(xa.CURR_APP_DATE) AS CURR_APP_DATE
FROM APPRAISAL xa
GROUP BY xa.PROPERTY_SYS_ID) b
ON b.PROPERTY_SYS_ID = a.PROPERTY_SYS_ID
AND a.CURR_APP_DATE = b.CURR_APP_DATE) c
ON c.PROPERTY_SYS_ID = vprop.PROPERTY_SYS_ID
GROUP BY vprop.ASSET_ID)
---------------------------------------------------------------------------------------
SELECT DISTINCT
vast.ASSET_ID,
MAX_ACQ.EVENT_DATE,
vxVAL.VAL_VALUE
FROM V_US_ASSET vast
INNER JOIN (SELECT vxAST_MVT.ASSET_ID, MAX(vxAST_MVT.EVENT_DATE) EVENT_DATE
FROM vxAST_MVT WHERE vxAST_MVT.EVENT_TYPE = 1
GROUP BY vxAST_MVT.ASSET_ID) MAX_ACQ
ON vast.ASSET_ID = MAX_ACQ.ASSET_ID
LEFT OUTER JOIN vxVAL value
ON value.ASSET_ID = vast.ASSET_ID AND
value.TYPE = 'BOV'