2016-05-30 8 views
1

SQLは私の特典ではありません。どのように質問するかわかりませんが、いくつかの助けに感謝します。SQL - 数字の範囲内の数字を検索

数字の範囲に入るレコードを抽出する必要があります。したがって、私は230という数字を持っています。これは、下の表に基づいて60の割合を返します。

MinR MaxR Rate 
1  3000 60.00 
3001 5000 50.00 
5001 7000 48.00 
7001 10000 45.00 
10000 999999 43.00 

は、論理的に、私は無駄に、MINR> = 237とMAXR < = 237を試してみました。

あなたは、あなたがほとんどそこにいる(カーソル、If..then、など)

感謝 グラハム

答えて

1

あなたはBETWEENを使用することができます。

使用し
SELECT Rate 
FROM YourTable 
WHERE 230 BETWEEN MinR AND MaxR - 1 

-1部分を使用すると、1つの入力用の2つのレコードを取得しないように。

1

これを達成するための簡単な文があり、または私はより多くのプログラム的にこれに取り組むべきです論理を逆向きにするだけです。のは、最初の行からの番号でMinR >=237 and MaxR <=237とプラグを見てみましょう:

1 >= 237 AND 3000 <= 237 

は、その条件が満たされますか?明らかではない:

MinR <= 237 AND MaxR >= 237 

や、読みやすさを改善するために(そして将来的にはこの種の誤りを避けるために)::1は、あなたがそれを他の方法で回避を行う場合、それが動作する237以上ではありません

次のように
237 BETWEEN MinR And MaxR 
関連する問題