查找表:-
FROM_METER TO_METER COST
1 5 0.004
6 10 0.006
11 20 0.012
需要的输出:-(这里对于 15 和 7,例如成本输出将来自查找主机)
METER COST
15 0.012
7 0.006
etc....
查找表:-
FROM_METER TO_METER COST
1 5 0.004
6 10 0.006
11 20 0.012
需要的输出:-(这里对于 15 和 7,例如成本输出将来自查找主机)
METER COST
15 0.012
7 0.006
etc....
查找表通常用于为常规数据提供代码或参考值。假设您的业务表是您称为 MASTER 的表,您可以将其记录加入到您的查找中,如下所示:
select m.meter
, l.cost
from master m
join lookup l
on ( m.meter between l.meter_from and l.meter_to)
您的数据模型似乎有问题:它不能保证 MASTER 表中的每个 METER 都会在查找表中找到匹配的记录。这就是为什么更常见的方法是使用类型或类别(比如“便宜”、“合理”、“昂贵”)。
显然,在不了解您的业务规则的情况下,我很难说您的模型是否正确,但您可能应该考虑如果 MASTER 表没有匹配的行该怎么办。也许这种关系是在应用程序中强制执行的,但根据我的经验,这种方法很难做到万无一失。
select ? Meter, cost from Lookup
where ? > = FROM_METER
and ? < = TO_METER
?
用您的参数替换。