[前][次][番号順一覧][スレッド一覧]

mysql:8881

From: "TAKT Co.,ltd." <"TAKT Co.,ltd." <t@xxxxxxxxxx>>
Date: Tue, 2 Mar 2004 15:44:32 +0900
Subject: [mysql 08881] select の where 指定で件数が正しくない

清川といいます。はじめまして。

今日はmysqlのselect,whereのトラブルについてお聞きしたくメールさせていただきました。

sql文自体には問題がないと思っているのですが・・・
前半部分はシステムが決めて、後半部分はユーザーが決めるというシステムの都合上、
範囲の限定が無駄になっている部分があります。

mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 110
) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40 AN
D 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70) ||
 (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
+-----------+
| count(*)  |
+-----------+
|       272 |
+-----------+
1 row in set (0.01 sec)

で、

mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 110
) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40 AN
D 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70) ||
 (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
+-----------+
| count(*)  |
+-----------+
|         0 |
+-----------+
1 row in set (0.00 sec)

になります。本来は、272件の表示をするはずの下のsqlが、0件になってしまいます。
違いは3行目、BETWEEN 110と111の違いだけです。
下のsqlも範囲の指定を一つ削れば、正しいcount272件を表示します。

環境は、redhat 8,mysql  Ver 13.5 Distrib 4.1.0-alpha, for pc-linux (i686)です。

sql文の変更以外で正しい結果を表示させたく思っています。
どなたか、ご教授いただければと思います。
よろしくお願いします。

[前][次][番号順一覧][スレッド一覧]

->    8881 2004-03-02 15:44 ["TAKT Co.,ltd." <t@x] select の where 指定で件数が正しくない  
      8891 2004-03-03 09:03 ┣[KAWAJI Shinya <kawaj]                                       
      8893 2004-03-03 09:17 ┃┗[nagai <w96176sn@xxxx] timeout について                    
      8892 2004-03-03 09:08 ┣[とみたまさひろ <tomm]                                       
      8901 2004-03-03 21:48 ┃┗["TAKT Co.,ltd." <t@x]                                     
      8910 2004-03-06 11:21 ┣["片寄白王" <katayose]                                       
      8934 2004-03-09 09:21 ┃┗["TAKT Co.,ltd." <t@x]                                     
      8978 2004-03-14 19:59 ┗["TAKT Co.,ltd." <t@x]                                       
      8979 2004-03-14 22:30  ┣[とみたまさひろ <tomm]                                     
      8984 2004-03-15 09:34  ┗[ML account <ml@xxxxx]