SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.05.2013 08:33:38

mstdmstd
Участник
Зарегистрирован: 13.05.2013
Сообщений: 1

сгруппировать товары по ценам 2х полей

Всем привет,
есть таблица с ценами где нужно сгруппировать товары по ценам. делаю запрос вида:

SELECT DISTINCT  inventory_item.STD_UNIT_PRICE, count(std_unit_price) AS std_unit_prices_count, std_unit_price AS std_unit_price FROM `inventory_item`
  WHERE  inventory_item.STD_UNIT_PRICE IS NOT NULL  GROUP BY std_unit_price ORDER BY count(std_unit_price) DESC
 

цены группируются и потом если юзер выбирает 2 группы то генерится запрос вида:

SELECT DISTINCT  ... inventory_item.STD_UNIT_PRICE ...
 FROM `inventory_item` WHERE  (  ( round(inventory_item.STD_UNIT_PRICE,2) >= 25 AND round(inventory_item.STD_UNIT_PRICE,2) < 50  ) OR  ( round(inventory_item.STD_UNIT_PRICE,2) >= 475 )  )  LIMIT 20
 

475 это группа с ценами 475 и выше.

Проблема в том что в таблице кроме поля STD_UNIT_PRICE есть поле CLEARANCE  и это поле CLEARANCE нужно отобразить если оно не
нулевое и меньше поля STD_UNIT_PRICE. Каким должен быть sql-запрос для этого.
Можно ли так сделать?

Это проект PHP/Symfony 1.4 propel, mysql 5, так что крайне хочется уместить все в один запрос - так как там большая страница с поиском и отображенирем товаров и все работает, но теперь понадобилась такая фича.

Неактивен

 

#2 13.05.2013 11:38:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: сгруппировать товары по ценам 2х полей

В sql запросе нужно указать выбор этого поля, а потом в скрипте php в зависимости от значения отображать пользователю или нет.

P.S. Ещё у вас в первом запросе дважды выбирается одно и тоже поле.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson