Запрос выборки с мат. функцией

BlackIced

Новичок
Запрос выборки с мат. функцией

Есть 2 таблицы, в первой хранятся ид, имя, цена, валюта
во второй хранится ид, название валюты, курс
так вот, как бы сделать так, чтобы
mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM adv WHERE adv.active='".$act_one."' and $uslovie (adv.price/4 BETWEEN $price1 and $price2)
где ХХХ - это курс валюты, а ее ИД хранится в первой таблице в поле валюта.

table 1: product
id | name | price | curency |
1 | test1 | 150 | 1 |
2 | test2 | 120 | 3 |
3 | test3 | 94 | 2 |

table 2: curency
id | curency | kurs |
1 | usd | 15.986 |
2 | eur | 1 |
3 | eek | 18.954 |
4 | lat | 0.5 |

-~{}~ 30.11.06 18:59:

люди, ну хоть пните тогда в мануал какой нить,
я нигде не нашел ответа на этот вопрос.
плиииз!
 

phpcoder

Новичок
Re: Запрос выборки с мат. функцией

Автор оригинала: BlackIced
люди, ну хоть пните тогда в мануал какой нить,
я нигде не нашел ответа на этот вопрос.
плиииз!
http://dev.mysql.com/doc/

Автор оригинала: BlackIced
так вот, как бы сделать так, чтобы
а вот так!

Честно говоря, сам вопрос не понятен. Что на выходе хотим видеть?
 

BlackIced

Новичок
нужен такой запрос, чтобы юзер выбрал валюту в скажем ЕВРО и пределы поиска по цене в пределах от 1-1000 и все записи сначало проверялись какая валюта стоит и если надо делились на нужный курс и соотвествуют ли они критерию от 1 евро до 1000
т.е. что-то вроде такого запроса
mysql_query("SELECT FROM adv WHERE active=1 and (adv.price/(SELECT kurs FROM curency WHERE id=adv.curency) BETWEEN $price1 and $price2)
 

phpcoder

Новичок
[SQL]
SELECT t1.price/t2.kurs as COST FROM table1 t1, table2 t2
WHERE t1.currency = t2.id AND t1.price BETWEEN ($price1 and $price2) AND t2.currency = '".$user_selected_currency."'
[/SQL]
Не проверял, но вроде как похоже на правду.
 

alpine

Новичок
BlackIced
А слабо price в какой-то одной валюте хранить, например в баксах, и делать нормальный селект использующий индексы?
 

BlackIced

Новичок
10х, очень похоже на правду:)а я и не догадался)
как обычно, ответ очень прост, но в мою голову не приходит...
 

BlackIced

Новичок
alpine
да слабо, проблема в том, что курс валюты меняется постоянно, и чтобы не было большой разницы в цене
 

alpine

Новичок
По теме:
[sql]
SELECT p.*, (p.price/c.kurs) as cost FROM product as p
INNER JOIN curency as c ON(p.curency=c.id)
WHERE (p.price/c.kurs) BETWEEN '10' AND '20'
[/sql]
 
Сверху