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

mysql:7927

From: "K-A" <"K-A" <k-anzai@xxxxxxxxxx>>
Date: Fri, 20 Jun 2003 17:12:03 +0900
Subject: [mysql 07927] Re: SQL 文での WHERE 句の質問

お世話になっております、安齋です。
神野様、メールありがとうございます。

詳細を書かないで投稿してしまい、申し訳ありませんでした。
下記にフィールドのタイプを明記します。

tbdress_a--------------
dress_type  text
----------------------

です、つまりtbdress_aテーブルの中身は

 +------------+
  | dress_type |
  +------------+
  |          5 |
  +------------+
  |          1,3,5 |
  +------------+
  |          3,4 |
  +------------+

こんな感じになっています。
この状態から
WHERE dress_type IN (フォームデータ)
を実行して先ほどの質問の

>フォームデータの中身が「1,3,5」(複数)
>の場合、dress_typeの中身に「5」が含まれていても、そのデータは取得されませ
>ん。

に話がつながります。
きちんと詳細を書かなかった事を深く反省しております。
誠に申し訳ありませんでした。


株式会社ビーアーティスト
安齋勝恵


----- Original Message -----
From: "Kengo Jinno" <kengo@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Friday, June 20, 2003 4:56 PM
Subject: [mysql 07923] Re: SQL 文での WHERE 句の質問


> 神野です。
>
> Fri, 20 Jun 2003 16:33:41 +0900 ごろに
> <00d301c336fe$480a8d30$1664a8c0@anzai> の
> "[mysql 07921] SQL 文での WHERE 句の質問" のメールで
> "K-A" <k-anzai@xxxxxxxxxx> さんは書きました。
>
> > ソース---------------------------------
> > SELECT *
> > FROM tbdress_a
> > WHERE dress_type IN (フォームデータ)
> > --------------------------------------
> >
> > 上記のSQLの時
> > dress_typeの中身が「5」(単数)
> > フォームデータの中身が「1,3,5」(複数)
> > の場合、dress_typeが「5」のデータが取得されます。
>
>  mysql> create table tbdress_a ( dress_type int );
>  Query OK, 0 rows affected (0.05 sec)
>
>  mysql> insert into tbdress_a values( 5 );
>  Query OK, 1 row affected (0.04 sec)
>
>  mysql> select * from tbdress_a;
>  +------------+
>  | dress_type |
>  +------------+
>  |          5 |
>  +------------+
>  1 row in set (0.00 sec)
>
>  mysql> select * from tbdress_a where dress_type in ( 1,3,5 );
>  +------------+
>  | dress_type |
>  +------------+
>  |          5 |
>  +------------+
>  1 row in set (0.05 sec)
>
> 正しいです。
>
> > しかし、
> > dress_typeの中身が「5,7」(複数)
> > フォームデータの中身が「1,3,5」(複数)
> > の場合、dress_typeの中身に「5」が含まれていても、そのデータは取得されま> > ん。
>
>  mysql> insert into tbdress_a values( 7 );
>  Query OK, 1 row affected (0.00 sec)
>
>  mysql> select * from tbdress_a;
>  +------------+
>  | dress_type |
>  +------------+
>  |          5 |
>  |          7 |
>  +------------+
>  2 rows in set (0.00 sec)
>
>  mysql> select * from tbdress_a where dress_type in ( 1,3,5 );
>  +------------+
>  | dress_type |
>  +------------+
>  |          5 |
>  +------------+
>  1 row in set (0.01 sec)
>
> これも正しく動いているように見えますが、どこか間違ってますか?
>
>
>   where dress_type in ( 1,3,5 )
>
> っていうのは、
>
>   where dress_type = 1 or dress_type = 3 or dress_type = 5
>
> と等価ですよね?
>
> --
> 神野健吾 <kengo@xxxxxxxxxx>
>


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

      7921 2003-06-20 16:33 ["K-A" <k-anzai@xxxxx] SQL 文での WHERE 句の質問               
      7922 2003-06-20 16:55 ┣[Koji KUSANAGI <kusan]                                       
      7924 2003-06-20 17:01 ┃┗["K-A" <k-anzai@xxxxx]                                     
      7925 2003-06-20 17:05 ┃ ┣[Kengo Jinno <kengo@x]                                   
      7928 2003-06-20 17:26 ┃ ┗[Koji KUSANAGI <kusan]                                   
      7929 2003-06-20 18:20 ┃  ┗["K-A" <k-anzai@xxxxx]                                 
      7923 2003-06-20 16:56 ┣[Kengo Jinno <kengo@x]                                       
->    7927 2003-06-20 17:12 ┃┗["K-A" <k-anzai@xxxxx]                                     
      7932 2003-06-21 16:06 ┃ ┗[seiji takegata <take]                                   
      7934 2003-06-22 16:40 ┃  ┗[SUGAWARA Hajime <sug]                                 
      7935 2003-06-22 20:49 ┃   ┗[seiji takegata <take]                               
      7926 2003-06-20 17:06 ┗[SUGAWARA Hajime <sug]