postgresql7.1
select fm.message_id,
fm.subject,
fm.user_id,
person__name(fm.user_id) as user_name,
fm.posting_date,
fm.state,
(select count(*)
from forums_messages_approved fm1
where fm1.forum_id = :forum_id
and fm1.tree_sortkey between tree_left(fm.tree_sortkey) and tree_right(fm.tree_sortkey)) as n_messages,
to_char(fm.last_child_post, 'Mon DD YYYY HH24:MI:SS') as last_child_post,
case when fm.last_child_post > (now() - interval '1 day') then 't' else 'f' end as new_p
from forums_messages_approved fm
where fm.forum_id = :forum_id
and fm.parent_id is null
order by fm.${order_by} desc
select fm.message_id,
fm.subject,
fm.user_id,
person__name(fm.user_id) as user_name,
fm.posting_date,
fm.state,
(select count(*)
from forums_messages fm1
where fm1.forum_id = :forum_id
and fm1.tree_sortkey between tree_left(fm.tree_sortkey) and tree_right(fm.tree_sortkey)) as n_messages,
to_char(fm.last_child_post, 'Mon DD YYYY HH24:MI:SS') as last_child_post,
case when fm.last_child_post > (now() - interval '1 day') then 't' else 'f' end as new_p
from forums_messages_approved fm
where fm.forum_id = :forum_id
and fm.parent_id is null
order by fm.${order_by} desc