2016-09-26 64 views
0

我有一个包含currency_codeprice的mysql表。选择多种货币的价格范围

currency_code | price 

usd | 50 

twd | 1570 

JPY | 5049 

用户可以输入各种price s到搜索的产品:

SELECT * FROM product WHERE price between 0 and 1500 

如果currency_code表中是不同的,我怎么能做出price范围查询?

+0

有一个货币转换表(你经常更新)。加入。通过加入并转换为通用货币来表示查询(我敢建议美元)。从那里继续 – Drew

+0

您的意思是添加mysql表来存储汇率并在查询之前加入它? – kenleung

+0

是非常多的交易 – Drew

回答

0

你必须控制所选择的货币,并把它变成你的查询:

SELECT * FROM product WHERE price between 0 and 1500 
AND currency_code = $selected_currency_code 
0

从你的问题我明白,我们有两个表像下面 为便于理解,请检查这些样品

价格

id |currency_id |price 
---------------------------- 
1 |1    |1000 
2 |2    |1500 
3 |1    |1300 

货币

currency_id | currency_name 
-------------------------------- 
1   | Dollor 
2   | Euro 

这是一个样本连接查询可以输出使用情况后0和1500

SELECT price.id,price.price,currency_code.currency_name FROM price 
INNER JOIN currency_code ON price.currency_id = currency_code.currency_id 
WHERE price BETWEEN 0 AND 1500 
0
select driver.*, 
case 
when driver.rental_currency = 'HKD' then driver_rental.HKT_1_fee_full_day/7.78 
when driver.rental_currency = 'TWD' then driver_rental.HKT_1_fee_full_day/31.4 
when driver.rental_currency = 'CNY' then driver_rental.HKT_1_fee_full_day/6.67 
end 
as HKT_1_fee_full_day 
from driver_rental 
left join driver 
on 
driver.email = driver_rental.email 
where 
driver_rental.HKT_1_fee_full_day between 0 and 52 
; 

之间的值之间的其中语句不能工作?