postgresql7.1 select case when exists (select 1 from acs_object_types t where t.pretty_name = :pretty_name) then 1 else 0 end select repeat(' ', (tree_level(t2.tree_sortkey) - tree_level(t1.tree_sortkey)) * 4) || t2.pretty_name, t2.object_type from acs_object_types t1, acs_object_types t2 where t2.tree_sortkey between t1.tree_sortkey and tree_right(t1.tree_sortkey) and t1.object_type = 'group'