|
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 40
|
||||||||||||||||
Как сформировать SELECT * FROM tablename WHERE (а тут неизвестно сколько будет критериев) ?19.01.2017, 16:40. Показов 604. Ответов 11
Метки нет (Все метки)
Например если пользователь отправил ДВЕ переменные firstname=Ivan , lastname=Petrov
заранее спасибо за помощь или совет, тем кто подтолкнет к мысле
0
|
||||||||||||||||
| 19.01.2017, 16:40 | |
|
Ответы с готовыми решениями:
11
Как вставить ряд данных, если заранее неизвестно сколько будет значений ? Можно ли StoreProc в SELECT использовать var вместо TableName ?
|
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
|||||||
| 19.01.2017, 17:04 | |||||||
|
1. Динамически формировать запрос как строку в зависимости от того, задано условие или нет 2. Определить макс. кол. условий и написать запрос один раз в виде:
1
|
|||||||
|
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 40
|
|
| 19.01.2017, 19:12 [ТС] | |
|
спс про второе не знал. А первое как то сразу отмел хз...
Добавлено через 1 час 36 минут Попробовал 2 вариант. Все равно работает только если все var написать а если одну пропускаешь ничего не находит ( все еще пытаюсь найти ответ
0
|
|
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 20.01.2017, 09:27 | ||
|
0
|
||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 20.01.2017, 09:59 | |
|
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||
| 20.01.2017, 14:59 | |||
|
Условия в массив и
0
|
|||
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
|
| 20.01.2017, 15:10 | |
|
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
| 20.01.2017, 15:22 | |
|
Сам текст запроса.
При больших запросах имеет смысл их оформлять в виде процедур, делать вьюхи Чтобы не гонять эти данные между вашим приложением и базой
0
|
|
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 20.01.2017, 15:44 | ||
Теперь далее. Я не шибкий знаток MySQL, поэтому скажу на примере Oracle, полагаю что в остальных продвинутых СУБД что-то аналогичное. Когда Oracle получает запрос, он сначала ищет такой же в кэше запросов. Если не находит, то производится так называемый hard parse запроса, в том числе построение плана выполнения (а это м.б. не очень быстро в общем случае). Если находит - использует его, в том числе построенный ранее план выполнения. Теперь представим себе, что человек каждый раз формирует разные запросы в зависимости от тех параметров, которые заданы и посылает их на сервер с достаточно небольшим промежутком. Значит к каждому из этих запросов строится план выполнения. Если же запрос один с учетом всех возможных параметров, то будет использоваться один раз построенный план выполнения. Т.е. в плане кэширования запросов этот вариант предпочтительней (собственно для подобных вариантов кэш запросов и был придуман). PS Я не в курсе, что такое implode в MySQL, вполне возможно что там этот путь эффективнее. PPS Опять же, в Oracle запросы переносятся в хранимые процедуры и view не для того, чтобы не пересылать большой запрос на сервер, а совершенно для других целей.
0
|
||
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
||||
| 20.01.2017, 16:34 | ||||
|
Статью привел первую попавшуюся
0
|
||||
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
|||
| 20.01.2017, 16:46 | |||
0
|
|||
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
||
| 20.01.2017, 17:03 | ||
|
Сформировав динамически запрос я могу полностью контролировать свои запросы подсовывая нужные мне данные и параметры по которым есть индексы тем самым управляя планом запроса Где IS NULL в вашем запросе, что вы предлагаете сделать если мне нужны значения в которых Null? Добавлено через 2 минуты Может стоит написать один запрос по вашему мнению на все случаи жизни с одним планом :-)
0
|
||
| 20.01.2017, 17:03 | |
|
Помогаю со студенческими работами здесь
12
Определить, сколько критериев криптостойкости выполнено
Сколько выделить памяти, если заранее неизвестно количество вложенных классов
Некорректная база, как сформировать select запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|