Форум: "Начинающим";
Текущий архив: 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