Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
ВнизСохранение с сортировкой Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c