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

Форум MySQL

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

 

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

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

тема: «Примерно равно»
 
 автор: ZC   (18.04.2010 в 20:03)   письмо автору
 
 

Есть такая таблица:
http://www.adammiribyan.com/i/pma-screen-41810.png

Пользователь вводит свое значение area и mysql-запрос должен выбрать из таблицы те поля, значение area которых либо равно значению, введенному пользователем, либо примерно равно ему (но в этом случае — обязательно меньше, а не больше его).

Буду рад любой помощи.

  Ответить  
 
 автор: baston   (18.04.2010 в 20:18)   письмо автору
 
   для: ZC   (18.04.2010 в 20:03)
 

Ну, так и делайте выборку по вашему алгоритму. Например, так:
SELECT * FROM имя_таблицы WHERE area <= значение

P.S. И можете использовать конструкцию BETWEEN для более точного выбора значения.

  Ответить  
 
 автор: ZC   (18.04.2010 в 20:43)   письмо автору
 
   для: baston   (18.04.2010 в 20:18)
 


SELECT *
FROM `warmfloor`
WHERE `area` <=1.6
AND `max_area` =0
ORDER BY `area` DESC


Запрос выполняется, но выдает пустой результат. И притом, что если сделать запрос, не включающий условие AND `max_area` =0 — результат выдается и выдается соответствующий.

В чем может быть проблема?

  Ответить  
 
 автор: baston   (18.04.2010 в 21:04)   письмо автору
 
   для: ZC   (18.04.2010 в 20:43)
 

Полагаю, я не ошибусь, если скажу, что числовое значение 0 и значение NULL - отсутствие информации или неопределенное значение, не одно и то же.
У вас в таблице есть данные max_area со значением 0?

  Ответить  
 
 автор: ZC   (18.04.2010 в 21:16)   письмо автору
 
   для: baston   (18.04.2010 в 21:04)
 

Запрос и c NULL не выдает никаких результатов.

  Ответить  
 
 автор: baston   (18.04.2010 в 21:29)   письмо автору
 
   для: ZC   (18.04.2010 в 21:16)
 

Ну а как вы выбираете NULL? Покажите...

  Ответить  
 
 автор: ZC   (18.04.2010 в 21:42)   письмо автору
 
   для: baston   (18.04.2010 в 21:29)
 


SELECT *
FROM `warmfloor`
WHERE `area` <= 7
AND `max_area` = NULL
ORDER BY `area` DESC
LIMIT 0 , 30

  Ответить  
 
 автор: baston   (18.04.2010 в 21:53)   письмо автору
 
   для: ZC   (18.04.2010 в 21:42)
 

Неверно.
Для поиска значений с типом данных NULL есть два способа. Попробуйте их узнать.

  Ответить  
 
 автор: ZC   (18.04.2010 в 21:56)   письмо автору
 
   для: baston   (18.04.2010 в 21:53)
 

Узнал.
Спасибо большое.

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

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