'items'という名前のテーブルがあります。 以下のようなインデックス列を含む列があります。私は(消防署、USER2)を取得することはできませんSQL:in節の間にデータをフェッチする方法
title | name | areacode
---------------------------------
police | user1 | 31,31,31
FireStation | user2 | 31,1,2
Restaurant | user22 | 1,1,0,32,32
---------------------------------
私は声明
select title, name from items where IN(31)
の下に使用したときに私が使用したとき、私はしかし(警察、USER1)及び(消防署、USER2) を取得する(1)
iは、IN句が有用であることが判明したときに、このような
IN(31,1)
として複数の値210
が使用されます。
しかし、IN(1)やIN(0)などの単一の値では、データを正しくフェッチしないことがあります。私はCONTAINSメソッドを見つけました。しかしそれに精通していない。
つまり、areacodeに値 '1'が含まれていると、(FireStation、user2)をフェッチできますか? areacodeの値が '0'のときは(Restaurant、user22)?
をし、すべての市外局番を1つのテーブルに配置し、次に第3のテーブルを使用してarea_codeをアイテムに接続する必要がある多数のテーブル関係船に属します。この結合テーブルは、(id、area_code_id、item_id)のようになります。最初はややこしいかもしれませんが、長期的にはエリアコードやアイテムを管理して照会するのが簡単になります。 –