SQL запрос для выборки записей из плейлиста из одной таблицы в зависимости от id в другой колонке?
Есть таблица плейлиста:
id | name
и таблица песен плейлиста:
id | playlist_id | prev_id | next_id
На фронте можно будет перемещать песни по плейлисту (сортировать в ручную), в общем как в вконтакте.
На бэкенд планируется передавать ID записи - id, ID предыдущей записи - prev_id и ID следующей записи - next_id.
Бэкенд будет у перемещаемой записи проставлять в базе prev_id и next_id.
А у предыдущей записи (у которой id=prev_id) будет менять next_id на id.
А у следующей записи (у которой id=next_id) будет менять prev_id на id.
Вот теперь вопрос: какой написать SQL запрос на выборку списка песен плейлиста, чтобы выбирались с учетом next_id?
Оптимальным способом будет хранение порядка сортировки в БД, используя некую колонку order типа float. Таким образом при "перетаскивании", всегда можно будет удобно запись между двумя другими впихнуть.