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

Форум PHP

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

 

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

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

тема: Сортировка с условием, ORDER BY 'discount_price' IF THIS > 0.00
 
 автор: toproot   (25.08.2015 в 13:47)   письмо автору
 
 

Всем привет!

Есть у меня таблица товаров, в которой две цены. price && discount_price
Запрос такой:
(SELECT * FROM `items`$wh$wht$wh2 ORDER BY `price` ASC) ORDER BY `discount_price` ASC LIMIT $limsql;

$wh,$wht,$wh2 - условия.
Нужно чтобы записи сортировались во первых по цене discount_price если она больше 0.00 и по price. ASC.
Как этого добиться? Если discount_price не указана - по умолчанию стоит 0.00 и все товары где discount_price не указана начинают лезть вверх..

  Ответить  
 
 автор: Trianon   (26.08.2015 в 04:04)   письмо автору
 
   для: toproot   (25.08.2015 в 13:47)
 

Если некий параметр не указан - в поле не должно стоять значение 0.00,
в поле вообще не должно находиться значение. Поле должно быть NULL в такой ситуации.
И все вопросы отпадут.
Соответствующее выражение - ORDER BY COALESCE(discount_price, price)

  Ответить  
 
 автор: toproot   (26.08.2015 в 10:36)   письмо автору
 
   для: Trianon   (26.08.2015 в 04:04)
 

Да, все работает теперь, Спасибо!

..нужно себе книгу по SQL

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

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