かなり長い解決策を見つけた質問がありますが、それは良い習慣ではないと思います。ただし、あまり複雑にすることなく、この問題をすぐに解決できる構文が必要だと思います。私はすでにこの問題に何度か遭遇しました、そして私は一度だけ知りたいです。
「T_STOP_LOSS」というテーブルがあり、「LIVES_FROM」、「LIVES_TO」、「SL_VALUE」の3つの列があります(すべての数値タイプ+ AutoNumberタイプのIDを含む列)。変数値がLIVES_FROMとLIVES_TOの間の間隔にあるSL_VALUEを含むレコードを取得したいと思います。
ID LIVES_FROM LIVES_TO NR_COUNTRIES_FROM NR_COUNTRIES_TO SL_VALUE
1 0 999 2 2 39,3
12 0 999 3 3 34,6
23 0 999 4 4 29,6
34 0 999 5 9 25,7
45 0 999 10 100 22,17
46 1000 1499 2 2 31,1
2 1000 1499 3 3 27,4
13 1000 1499 4 4 23,3
24 1000 1499 5 9 20,4
35 1000 1499 10 100 17,5
36 1500 1999 2 2 23,6
47 1500 1999 3 3 20,7
3 1500 1999 4 4 17,7
14 1500 1999 5 9 15,4
25 1500 1999 10 100 13,3
26 2000 2999 2 2 23,6
37 2000 2999 3 3 20,7
48 2000 2999 4 4 17,7
4 2000 2999 5 9 15,4
15 2000 2999 10 100 13,3
通常、私は以下を使用します:
lNr_Lives = <Something> '(Retrieved via Textbox)
sSQL_Select = "SELECT SLVALUE FROM T_STOP_LOSS WHERE LIVES_FROM <= " & LNr_Lives & " AND LIVES_TO >= " & LNr_Lives & ";"
ただし、LIVES_FROMとLIVES_TOは、外部キーを介してテーブルNR_LIVESに関連付けられています。
テーブル'NR_LIVES'には、T_STOP_LOSSテーブルへのリンクに使用されるプライマリキーとしてIDフィールドが含まれているため、上記のステートメントは機能しません。(NR_LIVESの列の名前はID、NR_LIVES_FROM、およびNR_LIVES_TOです(重要ではありません))。
ID NR_LIVES_FROM NR_LIVES_TO
1 0 999
2 1000 1499
3 1500 1999
4 2000 2999
NR_LIVESテーブルに格納されているLIVES_FROMとLIVES_TOの実際の値にアクセスし、SELECTステートメントを期待どおりに機能させるための最も簡単な方法を教えてください(正しい間隔)。
私の質問が明確であることを願っています。そうでない場合は、遠慮なく言及してください。