mytable tab1 にフィールドがあります。
col1 | col2 | id
--------------------------
1,2,3 | 2,3,4,5 | a1
6,7,8,9 | 2,9,11 | a2
このフィールドをストアド プロシージャの入力に渡したいwhere col1 in ('1,2') and col2 in ('3,4');
しかし、それは機能していません..
mytable tab1 にフィールドがあります。
col1 | col2 | id
--------------------------
1,2,3 | 2,3,4,5 | a1
6,7,8,9 | 2,9,11 | a2
このフィールドをストアド プロシージャの入力に渡したいwhere col1 in ('1,2') and col2 in ('3,4');
しかし、それは機能していません..
このようなものが動作するはずです:
SELECT t.* FROM tab1 t
WHERE 1 IN (t.col1) AND 2 IN (t.col1) ...
AND 3 IN (t.col2) AND 4 IN (t.col2) ...
ストアド プロシージャへの入力に基づいてクエリを作成する必要がありますが、それ以外の場合はこれでうまくいくはずです。現在のプロシージャを投稿しますか?
編集
このfind_in_set
関数も機能しますが、入力を分割して、proc に渡される数値ごとに 1 回呼び出す必要があります (つまり、最初のパラメーターをFIND_IN_SET
カンマ区切りのリストにすることはできません)。ここを参照してください: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set