Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Сохранение с сортировкой   Найти похожие ветки 

 
Endi ©   (2003-05-14 00:15) [0]

Каким образом сохранить то, что получивлось вследствие запроса причем в отсортированном виде.
Наример:
SELECT Fid1,Fld2,Fld3 FROM Table2 INTO Table2 ORDER BY Fld1
или
INSERT INTO Table1 (Fld1,Fld2,Fld3)
SELECT * FROM Table2 ORDER BY Fld1
так не работает.
Так как в базе много записей, а при выборке сначала создается буфер, то потом, используя проиндексированный TTable, перегонять записи с помощью программы занимет слишком много времени.
Так же функция BDE DBiSortTable сортирует слишком долго, при этом либо в новую таблицу, либо в старую таблицу приплюсовывает к записям, которые сама же и сортирует(или я что-то неправильно понял в описании этой функции, но у меня она работает именно так).
Слышал, что можно как-то, с помощью JOIN решить данный вопрос,но как к сожалению не знаю.
Или может быть вариант с созданием подзапросов?
Не знаю, если кто-нибудь, что-нибудь знает по этой проблеме, помогите пожалуйста.
(А то уже крыша едет от этой сортировки!!!).


 
Фикус ©   (2003-05-14 08:39) [1]

INSERT INTO Table1 SELECT * FROM Table2 ORDER BY Fld1


 
Соловьев ©   (2003-05-14 10:15) [2]


> Сохранение с сортировкой

зачем тебе это? а нельзя ли потом когда тебе нужны отсортированые, просто взять и отсортировать при выборке?


 
Endi ©   (2003-05-14 17:48) [3]

Просто после сохранения будет производится создание отчета через Excel, а сортировать в Excele - это просто садо-мазохизм какой-то, причем такую большую таблицу.


 
Соловьев ©   (2003-05-14 17:55) [4]


> Просто после сохранения будет производится создание отчета
> через Excel,

ты туда же передаешь данные из НД? так его и сортируй...


 
Endi ©   (2003-05-14 20:07) [5]


> ты туда же передаешь данные из НД? так его и сортируй...

НД постоянно менятся, а составлять отсортированную таблицу, состоящую из разных полей разных файлов базы, нужно периодически, примерно около 50 раз в день. Сортировка исходных данных каждый раз перед составлением таблицы будет занимать слишком много времени.


 
Dred2k ©   (2003-05-14 20:40) [6]


> SELECT Fid1,Fld2,Fld3 FROM Table2 INTO Table2 ORDER BY Fld1

Что-то впечатляет эта фраза... Интересен диалект ;) BDE так не пашет, поэтому может статься, что ты что-то спутал.


> INSERT INTO Table1 (Fld1,Fld2,Fld3)
> SELECT * FROM Table2 ORDER BY Fld1

Это не сработает в условиях явного перечисления присваиваемых при вставке полей, когда выборка идет "на звезду".

По вопросу в принципе могу посоветовать продумать основательнее взаимодействие процессов в схеме, т.е. разделение обязанностей между клиентскими прилодениями, осуществляющими формирование инфы и ее последующий анализ. Тут еще и мощности платформы интересны... Если задача сверхдинамична на анализе - лучше полноценный адекватно настроенный сервак. Или уж "моща во плоти" (причем через тонкий мидасовский, хотя бы, механизм).
Ну вот, пара мыслей... ;)


 
Соловьев ©   (2003-05-15 09:38) [7]


> Сортировка исходных данных каждый раз перед составлением
> таблицы будет занимать слишком много времени.

неужели? создаешь индекс или в select пишешь order by...



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

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-2867
NewN
2003-05-22 10:18
2003.06.02
Чтение, просмотр файла, алгоритм.


1-2999
Dr. TOP
2003-05-21 18:56
2003.06.02
TreeView


1-3007
Dead
2003-05-20 23:04
2003.06.02
SynEdit и иже с ним


14-3141
Мазут Береговой Рюрикович
2003-05-15 09:36
2003.06.02
Я тут в интернете ковырялся, искал что-нибудь о язычестве....


14-3178
AlexRush
2003-05-15 19:41
2003.06.02
Если делфисту скажут