Вывод записей в соответствие с заданным списком

Тема в разделе "SQL", создана пользователем malor, 7 авг 2008.

  1. malor

    malor Active Member

    Регистрация:
    30 апр 2007
    Сообщения:
    27
    Симпатии:
    0
    Вот что имею:
    Код (Text):
    ===========================================================
    ID_на_запись_в_таблице_с_фамилиями         Возраст_чела
    ===========================================================
    2                                   18             
    4                                   31
    6                                   42
    1                                   28
    5                                   55
    И когда я буду подгружать в грид эту таблицу(точнее - уже подгрузил, осталось отсортировать), то я хочу чтобы записи были отображены в определенном порядке, который мне известен(храню либо в массиве, либо в строке через запятую, ... короче, так как это здесь окажется удобней): 4, 6, 5, 1, 2.

    Как реализовать ?
     
  2. Aleksey

    Aleksey Гость

    Это вопрос не по SQL. SQL не имеет возможности сортировать по "случайному" алгоритму. Лично для меня порядок в котором вы хотите вывести строки совершенно не имеет логики, соответственно и для SQL-движка тоже :) Либо сортируйте грид на клиенте, либо надо делать дополнительные телодвижения.
    Чтобы сварганить такое на сервере, а не на клиенте, надо ваш массив сортировки ввести в дополнительную таблицу и связать ее с исходной таблицей, либо добавить поле в исходную таблицу, где и указать "вес" строки для дальнейшей сортировки. Получится, что мы отбираем нужные строки, каждая из которых заодно содержит и число, по которому мы будем ее сортировать, а выводить его в грид нам вовсе не обязательно.
    Тогда текст запроса может быть таким:

    SELECT ID_на_запись_в_таблице_с_фамилиями, Возраст_чела
    FROM исходная таблица
    WHERE ...
    ORDER BY дополнительное_поле_для_сортировки;


    Если это еще интересно, то можно раскрыть тему более полно.
     
Загрузка...

Поделиться этой страницей