Вниз
Скачать: 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.056 c
2-1128086497
MacCybex
2005-09-30 17:21
2005.10.23
В названиях сообщений высвечивается старое название проекта!


2-1127405723
GoodLud
2005-09-22 20:15
2005.10.23
OpenDialog расширение


2-1128343256
Vladimir88
2005-10-03 16:40
2005.10.23
TreeView


2-1127978616
begin
2005-09-29 11:23
2005.10.23
Выполнить что-то до открытия главной формы


14-1128118890
Chuvak
2005-10-01 02:21
2005.10.23
spool.exe в папке Windows




   Наверх