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

Вниз

Реален ли вертикальный фильтр в SQL-запросе?   Найти похожие ветки 

 
MaXie ©   (2002-05-16 13:27) [0]

Есть классика, запрос на выборку данных:
SELECT [section1]
FROM [section2]
WHERE [section3]

В разделе [section3] допускается использование параметров. Допустимо ли использование параметров в разделе [section1]?
Вопрос, на самом деле, вот в чем заключается: Все что написано в разделе WHERE ([section3]) необходимо для селекции строк из таблиц(-ы), перечисленных в разделе [section2], т.е. образования горизонтального фильтра или фильтра строк! Как построить запрос, чтобы возможна была реализация вертикального фильтра или фильтра столбцов? Дело в том, что в ходе работы клиента появляется необходимость выбирать значения из разных столбцов одной и той же таблицы. Так вот как построить запрос, чтобы набор столбцов в разделе SELECT ([section1]) менялся, не численно, а по составу?


 
Reindeer Moss Eater   (2002-05-16 13:30) [1]

Уточни:
Это вопрос по синтаксису TSQL или по свойству SQL TQuery?


 
fnatali ©   (2002-05-16 14:06) [2]

Может быть поможет динамическое формирование запроса?


 
Толик ©   (2002-05-16 14:19) [3]

На мой взгляд оптимальным решением было бы следующее: в запросе выводить все поля, которые когда-либо понадобятся, а уже пользователю показывать только то, что он хочет: Fields.Fields[i].Visible := FALSE;
Дело в том, что для сервера нет большой разницы сколько полей из таблицы показывать при одинаковах условиях выборки, а вот динамическое формирование запроса может оказаться для него проблематичным, т.к. сервера БД имеют обыкновение часто используемые запросы помещать в кэш, а т.к. при динамическом формировании запроса синтаксис его будет каждый раз разный и серваку придётся каждый раз заново делать синтаксический анализ запроса...


 
Johnmen ©   (2002-05-16 14:21) [4]

Макроподстановка это называется....
Реализована она в некоторых компонентах доступа...
Универсальное решение - fnatali © (16.05.02 14:06)


 
Val ©   (2002-05-16 14:26) [5]

это все так, если автор спрашивает не о серверной части


 
Johnmen ©   (2002-05-16 14:34) [6]

>Толик © (16.05.02 14:19)
Времена, затрачиваемые на передачу данных по сети, во много раз превышают времена, затрачиваемые сервером на компиляцию и оптимизацию запроса...А значит, надо стремиться получать за один запрос как можно меньше данных, и не гонять излишки...



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

Текущий архив: 2002.06.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
3-17807
Tem
2002-05-15 11:35
2002.06.06
Работа базы Paradox в сети


1-17849
Серг
2002-05-25 15:08
2002.06.06
Знатоки, подскажите, как на основе ф-и (ниже) перевести рис.


1-17924
stupid
2002-05-23 17:51
2002.06.06
Как проиграть wav файл, который находится в DLL?


1-18026
still_swamp
2002-05-24 13:23
2002.06.06
Закрыть Excel


6-18073
Michael_Burahin
2002-03-22 16:38
2002.06.06
Как из программы загрузить файл с сервера