Waki
Постоялец
- Регистрация
- 14 Ноя 2012
- Сообщения
- 64
- Реакции
- 21
- Автор темы
- #1
Имеется таблица такого вида:
Как видно присутствует два вида валюты, сложность в том если на сайте делать поиск по цене (к примеру не выше 50000), то в выборку не войдут те которые забиты рублями.
Как можно средствами мускла сделать подобную выборку, с перерасчетом?
Пробовал таким запросом:
Но тут не получается использовать в WHERE этот new_price.
Выбирать все и отсортировать на пхп думаю как-то ресурсозатратно или я ошибаюсь?
Вариант с добавлением поля валюты в поиск не подходит, т.к. получается что будет искать только по одной из валют.
Код:
+----+--------+----------+----------+
| id | title | currency | price |
+----+--------+---------------------+
| 1 | title1 | RUB | 650000 |
| 2 | title2 | $ | 53000 |
| 3 | title3 | $ | 190000 |
| 4 | title4 | $ | 65000 |
| 5 | title5 | RUB | 550000 |
+----+--------+----------+----------+
Как можно средствами мускла сделать подобную выборку, с перерасчетом?
Пробовал таким запросом:
Код:
SELECT id, title, currency, price, IF(currency='$', price, round(price/30)) new_price FROM products;
на выходе:
+----+-----------+----------+--------+-----------+
| id | title | currency | price | new_price |
+----+-----------+----------+--------+-----------+
| 1 | title1 | RUB | 650000 | 21667 |
| 2 | title2 | $ | 53000 | 53000 |
| 3 | title3 | $ | 190000 | 190000 |
| 4 | title4 | $ | 65000 | 65000 |
| 5 | title5 | RUB | 550000 | 18333 |
+----+-----------+----------+--------+-----------+
Выбирать все и отсортировать на пхп думаю как-то ресурсозатратно или я ошибаюсь?
Вариант с добавлением поля валюты в поиск не подходит, т.к. получается что будет искать только по одной из валют.