0

郵便番号を表す 1 つの値があります。

指定された値を DB の 2 つの列の値と比較して、この郵便番号に属する都市を確認する必要があります。

これは私の _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場合、DB からローマ市を取得するにはどうすればよいでしょうか。

00119この場合、シーケンスに含まれている00118-00199ため、DB は Rome を返す必要があります。

これは PHP でさまざまな方法で実行できますが、SQL ステートメントで直接実行する洗練された方法を探しています。

これは可能ですか?

助けてくれてありがとう

4

1 に答える 1

0

私は BETWEEN を使用しますが、それが気に入らない場合は >= と <= を使用できます。また、where 句よりも結合を好む場合は、不等式で結合することもできます。

例えば、

select city
from my_cities
where zipcode between zipcode_start and zipcode_end

変数をそのステートメントに入れる処理を行う必要がありますが、その部分はすでに処理できるという印象を受けます。これはあなたがやろうとしていることですか?私はそれを疑っていますが、あなたの質問から私が得られるのはそれだけです.

于 2013-09-19T16:18:28.957 に答える