|
|
|
| Сейчас он такой:
SELECT * FROM `pages` WHERE (code like '%,506%' OR code like '%506%') OR (code like '%,282%' OR code like '%282%') OR (code like '%,506%' OR code like '%506%')
|
Возвращает из базы 1 запись, а должен 3 по каждому OR
Как его модифицировать? | |
|
|
|
|
|
|
|
для: OLi
(14.12.2011 в 02:04)
| | А почему три, если 506 в первом блоке совпадает с 506 в последнем? Тогда получается два уникальных числа? Или какое-то из чисел повторяется два раза? | |
|
|
|
|
|
|
|
для: cheops
(14.12.2011 в 04:06)
| | Да, должны выводиться и повторения | |
|
|
|
|
|
|
|
для: OLi
(14.12.2011 в 16:56)
| | Вообще странно, что не выводится, запрос именно так и выглядит, больше никаких дополнений нет? | |
|
|
|
|
|
|
|
для: cheops
(14.12.2011 в 18:00)
| | Запрос вообще странный:
WHERE
(code like '%,506%' OR code like '%506%') OR
(code like '%,282%' OR code like '%282%') OR
(code like '%,506%' OR code like '%506%')
1) первое и последнее условие одинаковы
2) code like '%,506%' OR code like '%506%' можно было бы записать как code like '%506%'
По идее запрос должен выглядеть так:
SELECT * FROM `pages` WHERE
code like '%506%' OR code like '%282%'
|
| |
|
|
|
|
|
|
|
для: kosta_in_net
(15.12.2011 в 18:06)
| | У меня подозрение, что он изначально таким и был, а доп-условия появились в попытке растормошить базу данных, чтобы она выдала нужное... | |
|
|
|
|
|
|
|
для: cheops
(15.12.2011 в 18:14)
| | А может в базе реально только одна соответствующая запись, но ее нужно вывести трижды, и человек не знает, что для этого базу нужно джонить к самой себе? | |
|
|
|
|
|
|
|
для: kosta_in_net
(15.12.2011 в 18:16)
| | Ну, OLi говорит, что видит, вообще хорошо бы дамп увидеть, чтобы ситуацию можно было воспроизвести, наверняка не очень сложно, тем более ошибка воспроизводится, значит её можно быстро отладить. | |
|
|
|