选择一个值并将其与DB的2列中的值进行比较

时间:2013-09-19 16:13:25

标签: mysql

我有一个代表邮政编码的值。

我需要通过将给定值与数据库的两列中的值进行比较来查看哪个城市属于此邮政编码。

这是我的_cities表:

city (name of the city, VARCHAR)
zipcode_start (the first zip code available, VARCHAR )
zipcode_end ( the last zip code available, VARCHAR ).

我留下的拉链码按顺序编号。

所以如果我有例如:city = Rome, zipcode_start = 00118 and zipcode_end = 00199并且给定的邮政编码是00119,我如何从数据库中获取罗马城市?

在这种情况下,

00119包含在序列00118 - 00199中,因此数据库应该返回罗马。

我可以通过PHP以多种方式实现这一点,但我正在寻找一种直接使用SQL语句来实现它的优雅方法。

这可能吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我会使用BETWEEN,或者如果您不喜欢,可以使用> =和< =。如果你喜欢加入where子句,你甚至可以加入不平等。

例如,

select city
from my_cities
where zipcode between zipcode_start and zipcode_end

您必须处理将变量放入该语句中,但我得到的印象是您已经可以处理该部分。这是你想要做的吗?我有点怀疑,但这就是我从你的问题中解脱出来的。