postgresql7.1
select notifications.notification_id
from notifications
except
select distinct notifications.notification_id
from notifications left outer join notification_user_map
on (notifications.notification_id = notification_user_map.notification_id)
inner join notification_requests
on (notifications.type_id = notification_requests.type_id
and notifications.object_id = notification_requests.object_id)
where sent_date is null
select notifications.notification_id,
notifications.notif_subject,
notifications.notif_text,
notifications.notif_html,
notification_requests.user_id,
notification_requests.type_id,
notification_requests.delivery_method_id,
notifications.response_id
from notifications
inner join notification_requests
on (
notifications.type_id = notification_requests.type_id
and notifications.object_id = notification_requests.object_id
and notification_requests.interval_id = :interval_id
)
inner join acs_objects on (notification_requests.request_id = acs_objects.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
and acs_objects.creation_date <= notifications.notif_date
order by notification_requests.user_id, notification_requests.type_id