postgresql7.1 select l.list_id, l.name from ml_mailing_lists l, ml_mailing_list_user_map m where l.package_id = :package_id and l.list_id = m.list_id and l.expiration_date > current_timestamp and m.user_id = :user_id and m.subscribed_p = 't' order by lower(l.name) select l.list_id, l.name, l.teaser, c.tree_id, c.category_id, coalesce(m.subscribed_p, 'f') as subscribed_p from ml_mailing_lists l left outer join ml_mailing_list_user_map m on (l.list_id = m.list_id and m.user_id = :user_id) inner join category_object_map cm on (cm.object_id = l.list_id) inner join categories c using (category_id) inner join ml_category_trees_visible v using (tree_id) where l.package_id = :package_id and l.public_p = 't' and l.locale = :locale and l.expiration_date > current_timestamp and v.package_id = :package_id order by c.tree_id, c.category_id, lower(l.name)