первый - получаем список id самых новых ревизий SELECT id FROM таблица2 GROUP BY doc_id ORDER BY revision DESC;
а второй - получаем сами данные поиска SELECT FROM таблица2, таблица1 WHERE таблица2.body like "вася" and таблица2.id in (список из первого через запятую) and таблица1.doc_id = таблица2.doc_id;