Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не срабатывает условие в SQL запросе

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
smegol
Отправлено: 27 Марта, 2015 - 23:47:56
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Добрый день, не могу понять что не так.
Не срабатывает условие:
CODE (SQL):
скопировать код в буфер обмена
  1. 0 < (SELECT id FROM table2 WHERE col_min< ? < col_max)
т. е. если переменная попадает в диапазон - вернуть id, если id больше 0 обновить данные в таблице.
При этом когда ставлю вместо id - COUNT(id) обновляются даже те значения которые не попадают в диапазон.

Запрос:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. UPDATE table1
  3. SET col = 1
  4. WHERE 0 < (SELECT id FROM table2 WHERE col_min < ? < col_max) AND id_site = ?
  5.  
 
 Top
GoDr
Отправлено: 28 Марта, 2015 - 06:49:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




а если просто
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM table2 WHERE col_min > ? AND col_max < ?


-----
Система управления веб-содержимым Lotos CMS
 
 Top
LIME
Отправлено: 28 Марта, 2015 - 07:53:14
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а как связаны table1 и table2?
если через id, то типа того
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE table1
  2. SET col = 1
  3. WHERE table1.id IN (SELECT table2.id FROM table2 WHERE col_min < ? < col_max AND table2.id > 0) AND id_site = ?;
  4.  
  5. UPDATE table1
  6. JOIN table2 ON table1.id = table2.id AND col_min < ? < col_max AND table1.id > 0
  7. SET col = 1
  8. WHERE id_site = ?;

(Отредактировано автором: 28 Марта, 2015 - 07:54:54)

 
 Top
smegol
Отправлено: 28 Марта, 2015 - 11:39:37
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




GoDr пишет:
а если просто
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM table2 WHERE col_min > ? AND col_max < ?


так пробовал - результат тот же.
(Добавление)
LIME пишет:
а как связаны table1 и table2?
если через id, то типа того
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE table1
  2. SET col = 1
  3. WHERE table1.id IN (SELECT table2.id FROM table2 WHERE col_min < ? < col_max AND table2.id > 0) AND id_site = ?;
  4.  
  5. UPDATE table1
  6. JOIN table2 ON table1.id = table2.id AND col_min < ? < col_max AND table1.id > 0
  7. SET col = 1
  8. WHERE id_site = ?;


они не как не связаны, просто переменная должна попадать в диапазон между col_min и col_max.

(Отредактировано автором: 28 Марта, 2015 - 11:46:57)

 
 Top
LIME
Отправлено: 28 Марта, 2015 - 11:59:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




omg
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Марта, 2015 - 14:20:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




omfg
 
 Top
Faraon-san
Отправлено: 28 Марта, 2015 - 14:36:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id FROM table2 WHERE ? BETWEEN col_min AND col_max
 
 Top
LIME
Отправлено: 28 Марта, 2015 - 17:49:20
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Faraon-san и че???)))
(Добавление)
блин...оно мне надо?
не отвечай я ушел
 
 Top
smegol
Отправлено: 29 Марта, 2015 - 01:14:53
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




LIME пишет:
Faraon-san и че???)))
(Добавление)
блин...оно мне надо?
не отвечай я ушел


Простите! Но из соображений этикета не могу не поблагодарить за внимание оказанное моему вопросу. Пояснение: Я понимаю что трата времени на мой вопрос для Вас кажется бессмысленной и это нормально, в целом я большего не ожидал - ведь на дворе 2015 год и все ответы уже найдены) Если Вам нечего добавить закрываю тему.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB