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]