これは一時テーブルの良い使い方です。
CREATE TEMPORARY TABLE patterns (
pattern VARCHAR(20)
);
INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');
SELECT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);
サンプルパターンでは、col
の方法はありません。 複数のパターンに一致する可能性があるため、tbl
の各行が確実に表示されます。 結果ではせいぜい1回。ただし、パターンがcol
のようなものである場合 複数一致する可能性がある場合は、DISTINCT
を使用する必要があります クエリ修飾子。
SELECT DISTINCT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);