Правое соединение означает, что будут возвращены все строки в объединенной таблице, а все несоответствующие строки в правой таблице заполнены нулями в левой таблице.
Я не вижу причин, почему вы не используете вместо этого внутреннее соединение?
Причина, по которой вы возвращаете только одно значение, заключается в том, что вы группируете по mr.threadid. Если все строки имеют идентификатор потока = 1, то группа по сгруппирует их в одну строку.
Я неправильно понял вопрос?