select notification_id from notifications where notification_id not in ( select distinct notification_id from notifications inner join notification_requests using (type_id, object_id) inner join acs_objects on (notification_requests.request_id = acs_objects.object_id) left outer join notification_user_map using (notification_id, user_id) where sent_date is null and creation_date <= notif_date ) delete from notification_requests where dynamic_p = 't' and exists (select 1 from notifications n, notification_user_map num where n.type_id = type_id and n.object_id = object_id and num.notification_id = n.notification_id and num.user_id = user_id)