Задавайте вопросы, мы ответим
Вы не зашли.
Есть поле price, нужно в зависимости от его значений умножать на разные числа
Например:
Если значение меньше 100 то price*2, если от 100 до 1000 то price*1.75
Как это сделать с помощью SQL запроса не догоняю...
Неактивен
select if(price<100,price*2,if(price between 100 and 1000,price*1.75,'значение для остальных случаев')) from ...
Неактивен
Vasya, спасибо за ответ!
Я извиняюсь, наверное не правильно поставил вопрос...
Вот что у меня получается
Отредактированно Mauop (28.01.2013 17:53:39)
Неактивен
десятичные через точку 1.5 вместо 1,5
Неактивен
Да это я уже поправил... Ошибка та же...
[Err] ERROR: function if(boolean, double precision) does not exist
LINE 8: IF (price > 100000,ptrice*1.1)))))))))...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Отредактированно Mauop (28.01.2013 18:09:32)
Неактивен
Кроме того пробел после if не нужен и двойные кавычки у имени таблицы уберите.
Неактивен
функция if имеет три аргумента, а в последней строке у вас их всего лишь 2
Неактивен
Vasya написал:
функция if имеет три аргумента, а в последней строке у вас их всего лишь 2
а каким должен быть 3 аргумент ?
Если я делаю так:
Отредактированно Mauop (28.01.2013 18:45:26)
Неактивен
А вы в mysql этот запрос выполняете? Кто пишетэту ошибку?
Неактивен
База postgresql, я думал что sql не отличается... Получается что отличается ?
А вы случайно для postgresql не знаете решение ?
Неактивен
У каждой базы свои расширения стандарта sql.
Нет, не знаю.
Неактивен