input('exposures', name: 'exposure') as exposure_input 

input('events', name: 'event') as event_input 

join(on: exposure.site = event.site) as join_events_to_exposures 

exposure_input -> join_events_to_exposures.lhs
event_input -> join_events_to_exposures.rhs

join_events_to_exposures 
-> select({
     exposure.id as exposure_id,
     event.id as event_id,
     event.site as site_id,
     if_then_else( 
       event.depth > exposure.floor_height, 
       (event.depth - exposure.floor_height) / min(event.depth, exposure.building_height) * exposure.replacement_cost, 
       0.0 
     ) as loss
   }) as apply_loss

-> group(
     select: {
       event_id,
       sum(loss) as total_loss
     },
     by: event_id
   )

-> sort(event_id) as "event-loss-no-interpolation"
