Сложный порядок данных - PullRequest
0 голосов
/ 16 мая 2010

У меня есть один идентификатор таблицы в массиве, и они упорядочены так, как я хочу, и мне нужно выбрать данные из другой таблицы, используя эти идентификаторы, и в порядке их прослушивания в массиве.
Довольно запутанно, но я думал о двух решениях, дающих параметру ORDER BY массив, но я не знаю, возможно ли это, а другое - получить все необходимые данные и затем превратить их в массив (mysql_fetch_assoc), затем сравнить эти два и каким-то образом заказать массив с использованием массива идентификаторов. Но я тоже не знаю, как это сделать ...
Есть идеи?

Ответы [ 2 ]

0 голосов
/ 23 июня 2010

Если «массив заказов» находится в памяти, возможно, имеет смысл запросить целевую таблицу в другом массиве, а затем использовать «массив заказов» для перемещения по этому массиву.

Тем не менее, хранение отсортированного массива идентификаторов в памяти имеет проблемы ... как узнать, что порядок сортировки по-прежнему действителен? В этом отношении, откуда вы знаете, что идентификаторы все еще действительны. Как правило, лучше делать такие вещи непосредственно в SQL и позволить базе данных обрабатывать детали.

0 голосов
/ 16 мая 2010

Я не уверен, получил ли я именно то, о чем вы просите ... возможно, вы хотите использовать предложение ORDER BY FIELD.

например:.

SELECT something FROM tablename ORDER BY FIELD(id,5,6,3,2,4,1)
...