SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 01.07.2011 10:19:29

Andrey66
Участник
Зарегистрирован: 01.04.2011
Сообщений: 7

Условие для Select, не для where

Всех приветствую.
В 1 раз появилась такая нужна, а как  её сделать даже идей нет, и даже для гугла запрос не знаю как сформировать, т.к. кидает именно на условия для Where.
В общем суть такая:
Есть таблица, в ней есть 2 поля(их больше, но интересуют эти два). Эти 2 поля это цены, бывает одно поле больше 2ого, бывает наоборот, нужно при запросе получать данные наибольшего поля и по этому результату и сортировать, уже внутри полученных данных как бы.
Пример:
товар      цена1    цена2
товар1     40          110
товар2     160        100 
товар3     30          150
Если сортировать по 1 полю, то получим товары  2,1,3.
Если сортировать по 2 полю, то получим товары  3,1,2.
А должно быть - 2,3,1.
Поэтому нужен запрос в духе:
select (if price1>price2 return price2 else return price1) as max_price, но что-то никакой ифны по такому поводу не нахожу.

Заранее спасибо.

Неактивен

 

#2 01.07.2011 10:41:41

Andrey66
Участник
Зарегистрирован: 01.04.2011
Сообщений: 7

Re: Условие для Select, не для where

Решено. Вот так:

SELECT (CASE  WHEN (price>old_price) THEN price  ELSE old_price END) AS max_price FROM  products  ORDER BY max_price DESC LIMIT 0,2

Неактивен

 

#3 01.07.2011 14:25:18

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Условие для Select, не для where

Поэтому нужен запрос в духе:
select (if price1>price2 return price2 else return price1) as max_price, но что-то никакой ифны по такому поводу не нахожу.

Вы были совсем не далеко от истины :-)

select if(price1>price2,price2,price1) as max_price

Отредактированно evgeny (01.07.2011 14:26:34)

Неактивен

 

#4 03.07.2011 05:25:06

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Условие для Select, не для where

Ну а еще круче — SELECT GREATEST(price1, price2) AS max_price

Неактивен

 

Board footer

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