Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

Query   Найти похожие ветки 

 
Neket   (2007-02-01 11:57) [0]

Подскажи можно ли задать фильтр в Query так чтобы он выполнял функциу типа distinct (в SQL) при выбре определенного поля?
Т.е. Что-то в этом роде


 
ЮЮ ©   (2007-02-01 12:02) [1]

Написать в Query DISTINCT, а для детализации выполнять Query без DISTINCT, но с WHERE <поле> = :<выбранное значение>.

Неужели Фильтр на одном Query предпочтительнее 2х Query?


 
Neket   (2007-02-01 12:05) [2]

Не совсем понял мысль... Можно поподробнее (Для тех кто в танке :-)))) )


 
ЮЮ ©   (2007-02-01 12:06) [3]

Использовать OnFilterRecord и список, куда помещать инфу, которая встретилась впервые. При принятии решения о показе/сокрытии записи смотреть в этот список.

З.Ы. Геморрой, не правда ли, по сравнению с [1]/


 
ЮЮ ©   (2007-02-01 12:09) [4]

Тогда ты поподробнее о пользовательском интерфейсе, как ты намерен от полной таблицы перехрдить к отфильтрованной?

Полная - отфильтрованная -  Полная - отфильтрованная ...

Теперь немного измени -
список DISTINCT значений - записи с эти значением - список DISTINCT значений - записи с эти значением -...


 
Neket   (2007-02-01 12:13) [5]

ДАаа согласен.... Просто при выполнении селекта в БД у меня уходит строка загруженная и файла. И вся инфа прогружается в DBGrid. А потом необходимо наряду с другими функциями сортировки добавить функцию котороя делала сортировку только по уникальным значения.... Просто нехочется втупую пробегать по всем занчениям и отфильтровывать ненужное :-)


 
Neket   (2007-02-01 12:19) [6]

и здесь я пока придумал два выхода
1-й Обрабатывать строку селекта и на нужном мне поле вставлять DISTINCT
и делать запрос в БД... Ну и т.д.

2-й Просто брать и втупую пробегать по всем значениям столбца и отфильтровывать повторяющиеся (кстати это я думаю займет немало времени при необходимости обработки большого объема данных :-( )
Вот я и подумал может можно как-нибудь исхитрится и воспользовавшись функцией Query фильтр... Сделать что-то вроде DISTINCT-а....


 
ЮЮ ©   (2007-02-01 12:21) [7]


> меня уходит строка загруженная и файла


В смыле, текст запроса уже находится в файле?

База данных какая?

добавить функцию котороя делала сортировку только по уникальным значения....
Каких только методов сортировки не придумают :) А неуникалтные куда, после уникальных располагать?


 
Neket   (2007-02-01 12:33) [8]

Дааа текст уже в файле...
База ораклевая... (или конктретно тип нужен ;-) )
А неуникальные просто отфильтровываются.... (не показываются)... Не спрашивайте зачем это нада... Долго объяснять. )))))


 
ЮЮ ©   (2007-02-01 12:43) [9]


> База ораклевая...

Сервер, говорят серьёзный :)
Вот в несерьёзном MS SQL можно было бы запросто сформировать и выполнить

SELECT DISTINCT <нужные поля> FROM (
<текс исходного запроса, без ORDER BY, правда>
) s


 
ЮЮ ©   (2007-02-01 12:48) [10]

>Дааа текст уже в файле...

Если "универсальное" приложение строится по отдельно лежащим запросам,
то следует ввести и "универсальную" структуру мастер-детайл связей и написать и сохранить их в файлы.

Или суть запроса всегда одна, а в файле исключительно для простоты отладки и модификации? Тогда "закажи" в рамках запроса поле, указывающее на "уеикальность"


 
Neket   (2007-02-01 12:52) [11]


> 1-й Обрабатывать строку селекта и на нужном мне поле вставлять
> DISTINCT
> и делать запрос в БД... Ну и т.д.


Дык яж писал этот способ.... :-))))

т.е. алгоритм работы такой

загружается запрос из файла (например: SELECT <нужные поля> FROM (
<текс исходного запроса, без ORDER BY, правда>)
)
И прогружается это все в DBGrid.... Дальше юзвер начинает производить различные сортировки.... И в случае выборо сортировки типа DISTINCT
мне придется брать тексти исходного селекта типа SELECT <нужные поля> FROM (
<текс исходного запроса, без ORDER BY, правда>

И програмно добавлять после select (т.е. в лоб обрабатывать строку) добавлять команду distinct чтобы получилась такая строка SELECT DISTINCT <нужные поля> FROM (
<текс исходного запроса, без ORDER BY, правда>
)
и вновь делать запрос в БД.... --->>>> этот метод влечет за собой очень долгую обработку... Но по всей видимости так и придется делать :-(


 
Anatoly Podgoretsky ©   (2007-02-01 19:05) [12]

> ЮЮ  (01.02.2007 12:43:09)  [9]

А можно совсем просто StringReplace



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

Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
2-1170249970
Riply
2007-01-31 16:26
2007.02.18
Посылка в нить указателя на выделенную память.


2-1170189559
alexcoler
2007-01-30 23:39
2007.02.18
автообновление в DBGrid


3-1164292131
Константин_
2006-11-23 17:28
2007.02.18
групировка в sql запросе


11-1148486838
Alexei6021
2006-05-24 20:07
2007.02.18
Перекодировка ANSI-Dos(OEM)


2-1170250227
XTD
2007-01-31 16:30
2007.02.18
Куда загрузить список Имя,Изображение?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский