SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 03.11.2010 20:09:12

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

как указать WHERE поле = любое значение

Как можно сделать такой запрос
SELECT * FROM `table` WHERE `a` = любое_значение AND `b` = '...'

чтобы выбрались значения с любым a.
p.s. убрать "`a` = любое_значение" не предлагать

заранее спасибо

Неактивен

 

#2 03.11.2010 21:04:05

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

Re: как указать WHERE поле = любое значение

Если запрос модифицировать нельзя, то никак.
Если можно, то что-нибудь вида "(`a` = 'любое_значение' OR 1) AND `b` = '...'" или "`a` LIKE '*'" (если поле a строка), или убрать "`a` = 'любое_значение'" smile

Неактивен

 

#3 03.11.2010 21:22:01

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: как указать WHERE поле = любое значение

Если это задачка типа олимпиадных, то можно
SELECT *, 'anyvalue' AS a FROM tablename WHERE a = 'anyvalue' wink

Неактивен

 

#4 03.11.2010 21:45:48

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

Re: как указать WHERE поле = любое значение

спасибо, легче уже убрать smile

Неактивен

 

#5 04.11.2010 14:43:33

vaspet
Завсегдатай
Зарегистрирован: 11.03.2009
Сообщений: 83

Re: как указать WHERE поле = любое значение

Ну а так?:

SELECT * FROM table WHERE a = а

P.S. А если а=NULL прокатит?

Отредактированно vaspet (04.11.2010 14:45:01)

Неактивен

 

#6 04.11.2010 14:54:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: как указать WHERE поле = любое значение

Круто, вариант с a=a мне еще больше нравится smile

C NULL, очевидно, не прокатит:

Код:

[celestia] root (none) > SELECT NULL = NULL;
+-------------+
| NULL = NULL |
+-------------+
|        NULL |
+-------------+
1 row in set (0.00 sec)

Неактивен

 

#7 30.07.2011 15:19:56

R.Sergey
Участник
Зарегистрирован: 30.07.2011
Сообщений: 1

Re: как указать WHERE поле = любое значение

Зарегился спецом чтобы на вопрос ответить )) может еще кому пригодится

vvsh написал:

Как можно сделать такой запрос
SELECT * FROM `table` WHERE `a` = любое_значение AND `b` = '...'

чтобы выбрались значения с любым a.
p.s. убрать "`a` = любое_значение" не предлагать

заранее спасибо

Правильный ответ:

SELECT * FROM `table` WHERE `a` LIKE '%' AND `b` LIKE   '...'

"%" - означает любое кол-во любых символов, т.е. любое значение wink

Неактивен

 

#8 14.11.2017 11:47:35

Sergej
Участник
Зарегистрирован: 14.11.2017
Сообщений: 1

Re: как указать WHERE поле = любое значение

R.Sergey написал:

Зарегился спецом чтобы на вопрос ответить )) может еще кому пригодится

vvsh написал:

Как можно сделать такой запрос
SELECT * FROM `table` WHERE `a` = любое_значение AND `b` = '...'

чтобы выбрались значения с любым a.
p.s. убрать "`a` = любое_значение" не предлагать

заранее спасибо

Правильный ответ:

SELECT * FROM `table` WHERE `a` LIKE '%' AND `b` LIKE   '...'

"%" - означает любое кол-во любых символов, т.е. любое значение wink

Зарегистрировался специально, чтобы сказать Вам спасибо. Мне очень помогло. Хоть Вы скорее всего и не узнаете об этом )

Неактивен

 

#9 15.10.2019 12:39:43

DmitryM1
Участник
Зарегистрирован: 15.10.2019
Сообщений: 1

Re: как указать WHERE поле = любое значение

Зарегистрировался специально)))
Уточнение его лучше немного модернизировать, ибо отсекает NULL значения:

DECLARE @VALUE varchar(max)
SET @VALUE = isnull(@VALUE, '%')

SELECT * FROM `table` WHERE ( @VALUE= '%'  OR `a` LIKE @VALUE) AND `b` LIKE   '...'

так получится и NULL значения учитываются, а если @VALUE имеет значение отличное от '%'  тогда поиск по полю `а`.

Неактивен

 

Board footer

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