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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
15-1170181895
vasIzmax
2007-01-30 21:31
2007.02.18
Вот заморочка такая...


2-1170244848
sergeyst
2007-01-31 15:00
2007.02.18
Обработка исключений в IB


2-1170134129
MASTAFA
2007-01-30 08:15
2007.02.18
Вопрос по связи MathCad и Delphi


2-1170281370
Pasha L
2007-02-01 01:09
2007.02.18
прочитать ответ GETа (tidtcpclient)


2-1169904233
Garacio
2007-01-27 16:23
2007.02.18
Как узнать версию ОС с точностью до SP