postgresql7.1
select
i.cal_item_id,
0 as n_attachments,
to_char(start_date,'HH:MIpm') as start_time,
to_char(start_date, 'YYYY-MM-DD HH:MI:SS') as start_date,
to_char(start_date, 'MM/DD/YYYY') as pretty_short_start_date,
to_char(end_date, 'HH:MIpm') as end_time,
coalesce(a.name, e.name) as name,
coalesce(e.description, a.description) as description,
recurrence_id,
i.item_type_id,
it.type as item_type,
on_which_calendar as calendar_id
from
acs_events e join timespans s
on (e.timespan_id = s.timespan_id)
join time_intervals t
on (s.interval_id = t.interval_id)
join acs_activities a
on (e.activity_id = a.activity_id)
join cal_items i
on (e.event_id = i.cal_item_id)
left join cal_item_types it
on (it.item_type_id = i.item_type_id)
where
e.event_id = :cal_item_id
select
i.cal_item_id,
(select count(*) from attachments where object_id = cal_item_id) as n_attachments,
to_char(start_date,'HH:MIpm') as start_time,
to_char(start_date, 'YYYY-MM-DD HH:MI:SS') as start_date,
to_char(start_date, 'MM/DD/YYYY') as pretty_short_start_date,
to_char(end_date, 'HH:MIpm') as end_time,
coalesce(a.name, e.name) as name,
coalesce(e.description, a.description) as description,
recurrence_id,
i.item_type_id,
it.type as item_type,
on_which_calendar as calendar_id
from
acs_events e join timespans s
on (e.timespan_id = s.timespan_id)
join time_intervals t
on (s.interval_id = t.interval_id)
join acs_activities a
on (e.activity_id = a.activity_id)
join cal_items i
on (e.event_id = i.cal_item_id)
left join cal_item_types it
on (it.item_type_id = i.item_type_id)
where
e.event_id = :cal_item_id