Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-3117
anatoly
2003-05-14 09:09
2003.06.02
Fast-report+Canon LBP-810+альбомная ориентация ПАМАГИТЕ!!!!


1-2966
Chery
2003-05-21 11:10
2003.06.02
Как Borland Socket Server (scktsrvr) сделать службой?


14-3138
Yakudza
2003-05-14 14:52
2003.06.02
CheckBox в DBGrid


9-2731
Джастер
2002-12-18 18:46
2003.06.02
glParticles.pas


1-2872
Andy BitOff
2003-05-22 14:13
2003.06.02
Asm and String





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский