Как вытащить последнюю запись из таблицы когда одна запись ссылается на другую в этой же таблице?
Mysql не умеет джойнить рекурсивно, так что просто решить эту задачу не получится.
Можно пойти тремя путями:
1. Определить максимальное количество редиректов и джойнить таблицу саму к себе это количество раз. Решение не очень элегантное, но самое простое.
2. Изменить структуру бд и хранить для каждой строки id реальной страницы. Наверное, это самое правильное решение, но его относительно сложно реализовать.
3. Обрабатывать эту логику скриптом, делая рекурсивные запросы. В лоб, но может быть прожорливо по ресурсам.
можно, гуглите словосочетания Adjacency list, Matherialized Path, Nested sets, Closure Table не забывая подставлять слово MySQL, найдёте кучу описаний и кучу готовых реализаций.
Всё названное это оптимизированные варианты хранения деревьев в реляционных БД.