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 :: MIN, MAX + LEFT JOIN

 PHP.SU

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


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

> Без описания
Bio man
Отправлено: 21 Февраля, 2014 - 16:35:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




Помогите решить проблему. По запросу видно что я хочу
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `o`.*, MIN(`a`.`price`) AS 'pmin', MAX(`a`.`price`) AS 'pmax', MIN(`a`.`area`) AS 'amin', MAX(`a`.`area`) AS `amax`
  2. FROM `objects` o
  3. LEFT JOIN `apartments` a ON `a`.`object_id`=`o`.`id`
  4. WHERE `o`.`obj_type`=3 ORDER BY `o`.`object_id` LIMIT 2

Проблема в том, что всегда возвращается одна строка + MIN MAX значения не правильные..
 
 Top
KingStar
Отправлено: 21 Февраля, 2014 - 16:41:11
Post Id



Участник


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


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






???


-----
То что программа работает, не означает что она написана правильно!
 
 Top
EuGen Администратор
Отправлено: 21 Февраля, 2014 - 16:42:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Bio man пишет:
По запросу видно что я хочу

Нет, не очевидно. Предположу, что
CODE (SQL):
скопировать код в буфер обмена
  1.     SELECT
  2.       `o`.*,
  3.       MIN(`a`.`price`) AS 'pmin',
  4.       MAX(`a`.`price`) AS 'pmax',
  5.       MIN(`a`.`area`) AS 'amin',
  6.       MAX(`a`.`area`) AS `amax`
  7.     FROM `objects` o
  8.       LEFT JOIN `apartments` a ON `a`.`object_id`=`o`.`id`
  9.     WHERE
  10.       `o`.`obj_type`=3
  11.     GROUP BY
  12.       `o`.`object_id`
  13.     LIMIT 2

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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Bio man
Отправлено: 21 Февраля, 2014 - 16:42:30
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




KingStar, нет
 
 Top
KingStar
Отправлено: 21 Февраля, 2014 - 16:44:23
Post Id



Участник


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


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




да и как оно возвратит 2 значения, если выбирается либо минимальное, либо максимальное, бывает разве 2 минимальных/максимальных значения???
(Добавление)
тебе походу нужно делать выборку согласно ORDER BY с лимитом 2


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Bio man
Отправлено: 21 Февраля, 2014 - 16:45:34
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




EuGen, спасибо, вроде то что надо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB