Вниз
Скачать: CL | DM;

Нумерация записей с учетом сортировки   Найти похожие ветки 

 
VladBD ©   (2005-09-11 19:57) [0]

Вопрос.

Нужно отсортировать таблицу из mdb в DELPHI по нескольким полям
(например поле1 DESC, поле2 ASC, поле3 DESC) и в поле4 проставить номер по порядку сортировки.

1:
Делаю через ADOQUERY запрос с ORDER BY... и потом UPDATE поле4 = переменная+1 where (ID=ADOQUERY.id)

2:
ADOTABLE.sort=...
потом с начала таблицы бегу и
edit
поле4=переменная+1
post

Смысл такой - все это долго работает - особенно от 100.000 записей
Как еще по быстрому можно такое решить.

p.s. например в foxpro есть функция пересортировать по нескольким полям в другую таблицу а потом быстро проставить recno()


 
Nikolay M. ©   (2005-09-11 20:44) [1]

http://www.sql.ru/faq/faq_topic.aspx?fid=126
Способ 2 - для тебя.


 
VladBD ©   (2005-09-11 23:44) [2]

а типа в поле4 сохранится номер по порядку???
мне надо чтобы не select был с нумерацией, а проставлять номер (возможно не с единицы а с 12002 например)!!!


 
Nikolay M. ©   (2005-09-12 10:00) [3]


> VladBD ©   (11.09.05 23:44) [2]

Где в этом запросе поле4?

select count (test_2.id_test) as rank, test_1.id_test, test_1.string
from test as test_1 inner join test as test_2 on
test_1.id_test >= test_2.id_test
group by test_1.id_test, test_1.string
order by rank


Что мешает прибавить к первому полю желаемое смещение (12001 в твоем случае)?


 
Sergey13 ©   (2005-09-12 10:16) [4]

2[2] VladBD ©   (11.09.05 23:44)
А назавтра (при следующей выборке или смене сортировки) все это надо повторять? Или это разовая задача?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1127901511
Grief
2005-09-28 13:58
2005.10.23
динамические массивы в BlockRead


14-1127997108
oldman
2005-09-29 16:31
2005.10.23
Я таки победил 1C!!!


2-1127825697
Anton22
2005-09-27 16:54
2005.10.23
Строка в буфер


3-1125930670
_Lucky_
2005-09-05 18:31
2005.10.23
Возможно ли реализовать одним запросом на SQL, без использования


1-1128086320
nikolas
2005-09-30 17:18
2005.10.23
Модуль не доступен для отладки




   Наверх