postgresql7.1 select notification_id from notifications where not exists (select notifications.notification_id from notifications inner join notification_requests on ( notifications.type_id = notification_requests.type_id and notifications.object_id = notification_requests.object_id ) left outer join notification_user_map on (notifications.notification_id = notification_user_map.notification_id) where notification_user_map.sent_date is null) select notifications.notification_id, notifications.notif_subject, notifications.notif_text, notifications.notif_html, notification_requests.user_id, acs_object__name(notifications.object_id) as object_name from notifications inner join notification_requests on ( notifications.type_id = notification_requests.type_id and notifications.object_id = notification_requests.object_id ) left outer join notification_user_map on (notifications.notification_id = notification_user_map.notification_id) where notification_requests.interval_id = :interval_id and notification_user_map.sent_date is null