2012-05-04 9 views
1

error_codeとerror_typeが格納されているmysqlデータベースがあります。コンマ区切りで保存されたユニークなデータを比較して取り出します

各Error_typeには、複数のerror_codeをカンマ区切りとして格納できます。示されているようにここ

テーブル

ID ERROR_CODEのERROR_TYPE

1 300200444スペル

2 333310文法

あります。スペルは持って3 ERROR_CODE

質問:ERROR_CODEは、(1つだけエラーコードがテキストボックスに入力されます)

はどんな情報が必要な場合は私に知らせたり場合のみ300または200または444である場合ERROR_TYPEを取得するために照会する方法明確ではないです.... TNX

EDIT:

私はあなたが使用することができます明確なERROR_TYPE

答えて

2

select * from test 
where error_code REGEXP '(^444,|,444$|,444,|^444$)' 

これは444は冒頭、末尾、あるいは2つのコンマの間のいずれかであることを確認します。 ではないの一致文字列444は別の番号の中に入ります。たとえば、1,2,34445,6は一致しません。

+1

ここには[demo on sqlfiddle](http://sqlfiddle.com/#!2/745dc/)があります。 3) – dasblinkenlight

+0

あなたのコードは別のerror_typeをフェッチしません.3を入力すると、他のカテゴリのコードが3となります。:( – sree

+0

私の質問を編集しました.. – sree

0

が必要like

あなたは正規表現を使用することができます

または

select error_type from table where error_code like '%444%' 
+1

「error_code」が「123444」であっても、これは一致します。これはおそらくOPが望んでいないものです。 – dasblinkenlight

+0

それは簡単だったかどうかはっきりしています.... :)その "error_code like" ... urの回答を修正しています – sree

関連する問題