probeer dit
SELECT m.*,
(select s.s_field
from t_sub s
where s.m_id = m.m_id
and s.s_order = (select max(s_order) from t_sub where t_sub.m_id = s.m_id)
and rownum = 1)
FROM t_main m
of je kunt dit proberen (het is jouw code maar enkele aanpassingen)
SELECT m.*,
(select s.s_field from
(SELECT s_field, m_id
FROM t_sub
--where t_sub.m_id = m.m_id
order by s_order DESC) s
where s.m_id = m.m_id
and rownum = 1)
FROM t_main m