SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.05.2017 08:44:07

sql157
Завсегдатай
Зарегистрирован: 17.03.2016
Сообщений: 97

Можно ли сделать, что запрос "SELECT _WHERE _AND_IN" выбрал все записи?

Имеется запрос, который выбирает записи по двум критериям и по списку значений

SELECT * FROM tst_014_01_test WHERE name_camp = 'camp_1' AND ctrg_ur_1 IN ('ctrg_ur_1_1', 'ctrg_ur_1_2')


Можно ли как-то сделать чтобы он выбрал все значения?
Что-то в духе:
SELECT * FROM tst_014_01_test WHERE name_camp = 'camp_1' AND ctrg_ur_1 IN (*)


Только  как сделать правильно?

Отредактированно sql157 (20.05.2017 08:44:31)

Неактивен

 

#2 20.05.2017 08:50:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Можно ли сделать, что запрос "SELECT _WHERE _AND_IN" выбрал все записи?

не понятно
речь о том, чтобы не писать длинный список значений?
откуда берется этот список?

Неактивен

 

#3 20.05.2017 09:00:37

sql157
Завсегдатай
Зарегистрирован: 17.03.2016
Сообщений: 97

Re: Можно ли сделать, что запрос "SELECT _WHERE _AND_IN" выбрал все записи?

vasya написал:

не понятно
речь о том, чтобы не писать длинный список значений?

Варианты извлечения:
   - вар. 1 выборочный - Запрос с "IN"
   - вар. 2 ВСЁ - Запрос без "IN"

Не хочется в программе клиента лепить второй блок для обработки "вар. 2" через отдельный запрос...

vasya написал:

откуда берется этот список?

1. Пользователь. Вводит список в ТекстБокс;
2. Программа. ТекстБокс -> "переменную";
3. Программа. "Переменную" - > "Запрос" ;

Неактивен

 

#4 20.05.2017 09:24:45

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Можно ли сделать, что запрос "SELECT _WHERE _AND_IN" выбрал все записи?

имхо, только в программе
при обработке ТекстБокс, если пустой то не добавляем в запрос условие на ctrg_ur_1

Неактивен

 

#5 20.05.2017 09:48:09

sql157
Завсегдатай
Зарегистрирован: 17.03.2016
Сообщений: 97

Re: Можно ли сделать, что запрос "SELECT _WHERE _AND_IN" выбрал все записи?

Дополню.
В моём случае в запросе

SELECT * FROM tst_014_01_test WHERE name_camp = 'camp_1' AND ctrg_ur_1 IN (crit_2)
 


составляющие:
- name_camp
- camp_1;
- ctrg_ur_1 ;
- crit_2 = ('ctrg_ur_1_1', 'ctrg_ur_1_2');
являются переменными из кода


vasya написал:

имхо, только в программе
при обработке ТекстБокс, если пустой то не добавляем в запрос условие на ctrg_ur_1

Чуть-чуть не понял..
Если не добавлять, то как будет выглядеть зарос?

SELECT * FROM tst_014_01_test WHERE name_camp = 'camp_1' AND ctrg_ur_1 IN ()

Так?

или всё равно нужно пускать через два разных запроса?

Отредактированно sql157 (20.05.2017 09:55:41)

Неактивен

 

#6 22.05.2017 03:54:17

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Можно ли сделать, что запрос "SELECT _WHERE _AND_IN" выбрал все записи?

sql157 написал:

Если не добавлять, то как будет выглядеть зарос?

SELECT * FROM tst_014_01_test WHERE name_camp = 'camp_1'

Запросы естественно разные. Это стандартная практика, когда в зависимости от того какие параметры поиска указал пользователь, формируется тот или иной запрос.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson