我有包含事件日期和3个范围的MySQL数据库,即from1-to1,from2-to2,from3-to3 每个范围都有不同的价格,即from1-to1 rate1,from2-to2 rate2,…
因此每个范围有3列:从,到和评分。
我正在尝试查找返回给定月份汇率的查询,这意味着找到该月份所处的范围并返回该范围的汇率。
有任何想法吗? 谢谢!
看来您的数据模型未规范化。您应该考虑有关创建其他表的建议。
下面是一个非常丑陋的查询,它检查日期是否在三个范围内,然后返回匹配率。
select case when date '2010-12-05' between range1_from and range1_to then range1_rate when date '2010-12-05' between range2_from and range2_to then range2_rate when date '2010-12-05' between range3_from and range3_to then range3_rate end as rate from events where date '2010-12-05' between range1_from and range1_to or date '2010-12-05' between range2_from and range2_to or date '2010-12-05' between range3_from and range3_to;