LEFT JOIN tbl AS j1 ON j0.sort<j1.sort
LEFT JOIN tbl AS j2 ON j0.sort>j2.sort
создаст 2 временные таблицы (если таблицы большие - будет ад), лучше использовать способ с Union
Момент2 ... зачем отдельно искать сначала нужный, потом следующий элемент, лимитируя по 1? они уже отсортированы как надо - найдите то, что нужно + след элемент (просто лимит 2), а потом 1 юнион запрос для поиска предыдущего элемента
ps
подобные задачи возникают при кривом проектировании либо приложения, либо базы данных
|