If "West_Deal_Pulse" and "West_Deal_Scan_Offerings" use the PK for West_Engage_Details to reference it in a left-outer join relationship, it is expected that you will have up to two appearances of the same row of West_Engage_Details in the final data set.
From what I understood of your goal "My objective is to read data for West_Deal_Pulse for each object in West_Engage_Details unless there is a row for that object in West_Deal_Scan_Offerings which should then take precedence. ", you could have *West_Engage_Details* be the left side of an outer left join to the other tables, in which case you would see all the columns for both West_Deal_Pulse and West_Deal_Scan_Offerings in the same row as all the columns of their respective respective West_Engage_Details row.
------------------------------
Denilson Nastacio
------------------------------