powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по фильтру из формы
11 сообщений из 11, страница 1 из 1
Выборка по фильтру из формы
    #39073552
Есть форма настройки фильтров. Нужно сделать выборку типа
SELECT * FROM tb WHERE f1='data1' AND f2='data2' и т.д но если data1 или data2 пустые то, что бы эти условия не учитывались. Реально ли это?
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39073595
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39073618
вадяWHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
Мерси, только скобочки не хватает после data1 WHERE if (isnull('data1') or isnull('data2'),true, f1='data1' AND f2='data2')
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074106
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяWHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
это хреновый вариант. но иногда и его можно использовать.
по хорошему надо генерировать текст запроса и потом динамический exec делать. или в процедуре под ifами перебирать все варианты параметров.
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074125
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivвадяWHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
это хреновый вариант. но иногда и его можно использовать.
по хорошему надо генерировать текст запроса и потом динамический exec делать. или в процедуре под ifами перебирать все варианты параметров.
и почему хреновый?
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074323
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
потому что работать будет только на тестовых таблицах до 5 тысяч записей.
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074331
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
откуда такая информация?
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074332
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяоткуда такая информация?Да просто из структуры выражения в WHERE. Для доступа к записям не сможет использоваться индекс, будет полный перебор таблицы.
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074333
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivпотому что работать будет только на тестовых таблицах до 5 тысяч записей.
Точнее, НОРМАЛЬНО работать. И чем больше записей в таблице, тем хреновее будет работать.
Гораздо разумнее в зависимости от состояния фильтров формы передавать серверу на выполнение соответствующий текст запроса (прямо или косвенно) - т.е. включающий только те фильтры, которые задействованы в форме.
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074357
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяMasterZiv,
откуда такая информация?


из опыта, сынок...
...
Рейтинг: 0 / 0
Выборка по фильтру из формы
    #39074465
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivвадяMasterZiv,
откуда такая информация?


из опыта, сынок...
я б посоветовал полегче с определениями :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по фильтру из формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]