C'est une bonne utilisation d'une table temporaire.
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);
Dans les modèles d'exemple, il n'y a aucun moyen col
peut correspondre à plus d'un modèle, vous pouvez donc être sûr de voir chaque ligne de tbl
au plus une fois dans le résultat. Mais si vos motifs sont tels que col
pourrait correspondre à plus d'un, vous devez utiliser le DISTINCT
modificateur de requête.
SELECT DISTINCT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);