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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите составить правильно запрос

Сообщения:  [1-8] 

 
 автор: cheops   (15.12.2011 в 19:18)   письмо автору
 
   для: kosta_in_net   (15.12.2011 в 18:16)
 

Ну, OLi говорит, что видит, вообще хорошо бы дамп увидеть, чтобы ситуацию можно было воспроизвести, наверняка не очень сложно, тем более ошибка воспроизводится, значит её можно быстро отладить.

  Ответить  
 
 автор: kosta_in_net   (15.12.2011 в 18:16)   письмо автору
 
   для: cheops   (15.12.2011 в 18:14)
 

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

  Ответить  
 
 автор: cheops   (15.12.2011 в 18:14)   письмо автору
 
   для: kosta_in_net   (15.12.2011 в 18:06)
 

У меня подозрение, что он изначально таким и был, а доп-условия появились в попытке растормошить базу данных, чтобы она выдала нужное...

  Ответить  
 
 автор: kosta_in_net   (15.12.2011 в 18:06)   письмо автору
 
   для: 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%'

  Ответить  
 
 автор: cheops   (14.12.2011 в 18:00)   письмо автору
 
   для: OLi   (14.12.2011 в 16:56)
 

Вообще странно, что не выводится, запрос именно так и выглядит, больше никаких дополнений нет?

  Ответить  
 
 автор: OLi   (14.12.2011 в 16:56)   письмо автору
 
   для: cheops   (14.12.2011 в 04:06)
 

Да, должны выводиться и повторения

  Ответить  
 
 автор: cheops   (14.12.2011 в 04:06)   письмо автору
 
   для: OLi   (14.12.2011 в 02:04)
 

А почему три, если 506 в первом блоке совпадает с 506 в последнем? Тогда получается два уникальных числа? Или какое-то из чисел повторяется два раза?

  Ответить  
 
 автор: OLi   (14.12.2011 в 02:04)   письмо автору
 
 

Сейчас он такой:

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
Как его модифицировать?

  Ответить  

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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