わかりました。奇妙な MYSQL 比較演算子の問題があります。1 つ (Table1) には、スコア範囲の上限と下限 (MinScore、MaxScore) と説明フィールドを含む値のリストが含まれています。MinScore と MaxScore の値は Int(11) として格納されます。
次に、スコアを最初のテーブルと比較してパフォーマンスの説明を結合するレコードを含む 2 番目のテーブル (Table2) があります。
Table1 の Score の最大値は 9999 です (これは、入力できる最大値です)。
Table2 に 9999 の値があり、次のような結合を使用すると、Table1 から値を取得できません。
すなわち: .... ON (Table2.Score>=Table1.MinScore AND Table2.Score<=Table1.MaxScore)
Table2.Score を 9998 に変更すると、機能します。Table1.MaxScore を 6000 に変更し、Table2.Score を 6000 に変更すると、機能します。Table1.MaxScore を 10000 に、Table2.Score を 9999 に変更すると失敗します。
失敗の原因は 9999 について何ですか? 何か案は?浮動小数点でも小数でもありません。どちらの値も INT(11) フィールドです。