Запрос SELECT

Dreamer76

Through thorns
Запрос SELECT

Такой простой вопрос: почему БД не обрабатывает этот запрос?

В базе есть поле, в котором есть записи on.gif и off.gif.

Когда я делаю:
SELECT * FROM `zapros` WHERE res2 LIKE 'on.gif'
Все работает.

Когда я делаю:
SELECT * FROM `zapros` WHERE res2 LIKE 'off.gif'
Все работает.


Когда я делаю:
SELECT * FROM `zapros` WHERE res2 LIKE 'on.gif' AND res2 LIKE 'off.gif'

ничего не работает :(

В чем проблема?

OR не вставил вместо AND? или что-то Другое?
OR, т.е. ИЛИ - мне не подходит, так как запрос подразумевает под собой "где есть это И есть это И есть это".

HELP!
 

Сергей123

Новичок
Если
>> где есть это
подразумевает "содержит", используй LIKE '%on.gif%',
а если "равно", - то = 'on.gif'

>> res2 LIKE 'on.gif' AND res2 LIKE 'off.gif'
ну не может же пиджак быть И жёлтым, И красным

-~{}~ 18.08.04 10:36:

>> OR, т.е. ИЛИ - мне не подходит, так как запрос подразумевает под собой
>> "где есть это И есть это И есть это".

Тебе надо записи, где есть on.gif И записи, где есть off.gif?
Значит ИЛИ - саио то - используй OR (и всё-таки тебе видимо надо не LIKE, а =).
 

kav

Guest
Прочитай запрос по русски и все сам поймёшь.
у тебя: выдай мне если в одной записи хранится И 'on.gif' И 'off.gif'
А вот на счет OR - это как раз то: выдай мне если в одной записи хранится ИЛИ 'on.gif' ИЛИ 'off.gif'
 

Dreamer76

Through thorns
Спасибо!

И последний вопрос.

У меня массив, который строит запросы к БД.

Есть таблица "zapros".

В ней есть 2 поля: res2 и source.

res2 содержит "on.gif" и "off.gif"

source содержит "Отечественное предприятие", "Физическое лицо"


Запросы к mysql:

1. У меня работает отдельно запрос:
select * from zapros where res2 LIKE '%on.gif%'

2. У меня работает отдельно запрос:
select * from zapros where res2 LIKE '%off.gif%'

3. У меня работает отдельно запрос:
select * from zapros where source LIKE '%Отечественное предприятие%' OR source LIKE '%Физическое лицо%'

Проблемы начинаются тут:
select * from zapros where res2 LIKE '%on.gif%' OR source LIKE '%Отечественное предприятие%' OR source LIKE '%Физическое лицо%'

Т.е. задействованы 2 ячейки одновременно: res2 и source.

Он мне выдает почти все записи (вклчая OFF.GIF из поля res2).

:(

Помогите решить эту ПОСЛЕДНЮЮ проблему.

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

kav

Guest
[sql]select * from zapros where res2 LIKE '%on.gif%' AND (source LIKE '%Отечественное предприятие%' OR source LIKE '%Физическое лицо%')[/sql]
 

Dreamer76

Through thorns
Originally posted by kav
[sql]select * from zapros where res2 LIKE '%on.gif%' AND (source LIKE '%Отечественное предприятие%' OR source LIKE '%Физическое лицо%')[/sql]
А если запросы не только по res2 и source идут? А еще полей 10.
 

kav

Guest
надо продумать условия - что в итоге хочешь получить - и с помощью скобок их групперуй
 
Сверху