Существует вероятность того, что разделяет сходство с ответом Йенса (+1), но получает результат в несколько иной форме.
Учитывая существующую таблица:
create table somedata (id integer, name char(20));
insert into somedata values (1, 'Tim');
insert into somedata values (2, 'Bob');
insert into somedata values (3, 'Joe');
Если вы знаете нужный короткий заказ (либо путем обработки таблицы или какой-либо результата запроса от него), создать временную таблицу, которая имеет некоторое значение ключа, чтобы соответствовать желаемым строки из исходной таблицы и затем данные порядок сортировки:
create table #sortorder(id integer, sortvalue integer);
Установите sortvalue
поле в таблице темп, чтобы содержать нужный порядок (это может быть любой тип данных сортируемых - не должен быть целым числом):
insert into #sortorder values (1, 15);
insert into #sortorder values (2, 12);
insert into #sortorder values (3, 5);
Затем генерировать результаты с объединением по столу, что обеспечивает порядок сортировки:
select sd.* from somedata sd, #sortorder so
where sd.id = so.id
order by so.sortvalue;
Какой тип набора данных вы используете? – Linas
@Linas TAdsQuery –
Рассчитана колонка, которую вы хотите использовать для заказа? (с использованием OnCalcFields) – Cesar