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

start [/forum/topic.php?fid=47&msg=39074333&tid=1832621]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 283ms |

| 0 / 0 |
