@spartax

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?

Подскажите пожалуйста.
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 2
serginhold
@serginhold
это все выглядит как хранение деревьев, вот и гугли хранение деревьев, next_id точно избыточен

но зачем так усложнять, если можно было сделать одно поле с хранением сортировки, и запросы простые бы были
Ответ написан
Комментировать
Оптимальным способом будет хранение порядка сортировки в БД, используя некую колонку order типа float. Таким образом при "перетаскивании", всегда можно будет удобно запись между двумя другими впихнуть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы