Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по фильтру из формы / 11 сообщений из 11, страница 1 из 1
10.10.2015, 15:49:18
    #39073552
Выборка по фильтру из формы
Есть форма настройки фильтров. Нужно сделать выборку типа
SELECT * FROM tb WHERE f1='data1' AND f2='data2' и т.д но если data1 или data2 пустые то, что бы эти условия не учитывались. Реально ли это?
...
Рейтинг: 0 / 0
10.10.2015, 18:14:35
    #39073595
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
WHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
...
Рейтинг: 0 / 0
10.10.2015, 19:00:23
    #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
12.10.2015, 06:43:22
    #39074106
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
вадяWHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
это хреновый вариант. но иногда и его можно использовать.
по хорошему надо генерировать текст запроса и потом динамический exec делать. или в процедуре под ifами перебирать все варианты параметров.
...
Рейтинг: 0 / 0
12.10.2015, 08:09:33
    #39074125
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
MasterZivвадяWHERE if (isnull('data1' or isnull('data2'),true, f1='data1' AND f2='data2')
это хреновый вариант. но иногда и его можно использовать.
по хорошему надо генерировать текст запроса и потом динамический exec делать. или в процедуре под ifами перебирать все варианты параметров.
и почему хреновый?
...
Рейтинг: 0 / 0
12.10.2015, 11:49:49
    #39074323
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
вадя,
потому что работать будет только на тестовых таблицах до 5 тысяч записей.
...
Рейтинг: 0 / 0
12.10.2015, 11:55:36
    #39074331
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
MasterZiv,
откуда такая информация?
...
Рейтинг: 0 / 0
12.10.2015, 11:58:00
    #39074332
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
вадяоткуда такая информация?Да просто из структуры выражения в WHERE. Для доступа к записям не сможет использоваться индекс, будет полный перебор таблицы.
...
Рейтинг: 0 / 0
12.10.2015, 11:58:42
    #39074333
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
MasterZivпотому что работать будет только на тестовых таблицах до 5 тысяч записей.
Точнее, НОРМАЛЬНО работать. И чем больше записей в таблице, тем хреновее будет работать.
Гораздо разумнее в зависимости от состояния фильтров формы передавать серверу на выполнение соответствующий текст запроса (прямо или косвенно) - т.е. включающий только те фильтры, которые задействованы в форме.
...
Рейтинг: 0 / 0
12.10.2015, 12:16:16
    #39074357
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по фильтру из формы
вадяMasterZiv,
откуда такая информация?


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


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


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