Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не выполняется запрос
 
 автор: xpom   (28.06.2011 в 21:34)   письмо автору
 
 

Подскажите, почему не выполняется запрос к базе?

SELECT id, Name FROM Table WHERE tel=1 AND CONCAT(',',text,',') LIKE '%,Текст,%' OR CONCAT(',',text,',') LIKE '%,Текст2,%' OR CONCAT(',',text,',') LIKE '%,Текст3,%'  OR CONCAT(',',text,',') LIKE '%,Текст4,%' AND CONCAT(',',clt,',') LIKE '%,8,%' AND CONCAT(' ',ret,' ') LIKE '% 3 %' ORDER BY pol DES

поле tex содержит текстовый тип и занесены слова Текст1,Текст2 и т.д. через запятую...нужно выбрать те строки, где эти слова имеются!
без этого условия CONCAT(',',text,',') LIKE '%,Текст,%' OR CONCAT(',',text,',') LIKE '%,Текст2,%' OR CONCAT(',',text,',') LIKE '%,Текст3,%' OR CONCAT(',',text,',') LIKE '%,Текст4,%' запрос выполняется, а с ним не выполняется все условие WHERE...почему не срабатывает CONCAT(',',text,',') LIKE '%,Текст,%' ?

  Ответить  
 
 автор: cheops   (28.06.2011 в 21:46)   письмо автору
 
   для: xpom   (28.06.2011 в 21:34)
 

Запрос просто не возвращает записи или возникает ошибка?

PS Дело в том что text - это ключевое слово, его бы хорошо заключить в обратные кавычки.

  Ответить  
 
 автор: xpom   (28.06.2011 в 21:56)   письмо автору
 
   для: cheops   (28.06.2011 в 21:46)
 

запрос возвращает записи, но все, не учитывая условия WHERE ...а нужно, только если хоть одно слово Текст совпадает
т.е. с кавычками будет выглядеть вот так ?
CONCAT(',','text',',') LIKE '%,'Текст',%'

  Ответить  
 
 автор: xpom   (29.06.2011 в 17:52)   письмо автору
 
   для: xpom   (28.06.2011 в 21:56)
 

Здесь что то с OR
нужно любое совпадение в поле text, а выводится все

  Ответить  
 
 автор: xpom   (29.06.2011 в 18:02)   письмо автору
 
   для: xpom   (28.06.2011 в 21:56)
 

что можно использовать вместо OR (или) в MySQL?

  Ответить  
 
 автор: cheops   (29.06.2011 в 19:18)   письмо автору
 
   для: xpom   (28.06.2011 в 21:56)
 

Хм... возможно для каждой строки срабатывает какое-то свое условие...

  Ответить  
 
 автор: xpom   (30.06.2011 в 13:03)   письмо автору
 
   для: cheops   (29.06.2011 в 19:18)
 

наверное нужно расставить скобки, чтобы выполнялось OR и AND отдельно

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования