версия - 4.0, поэтому вложенные запросы не работают
Решение нашел через временную таблицу + добавление к ней индекса
create temporary table temp_tab
select os.o_id,max(oss.s_ord) as mx
from status oss,status_order os
where os.st_id=oss.Id
group by os.o_id;
alter table temp_tab add index(o_id);
select o.Id,oss.s_name
from orders o
left join temp_tab h on h.o_id=o.Id
left join status oss on oss.s_ord=h.mx
group by o.Id;
drop table if exists temp_tab;
Хотелось бы это решить за один единственный запрос, если это возможно. Если нет - хочу просто в этом удостовериться, чтоб мастер какой-нибудь сказал "Это сделать нельзя"
К тому же в данном случае поле порядка - s_ord - должно быть уникальным. На практике это соблюдается, но хотелось бы, чтобы запрос работал и с дублирующимися значениями порядка.