Bonjour,

Je suis confronté à un champ "varchar" contenant une liste de valeurs (uniquement des nombres).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
+-------+-------------------+
| ID    | References        |
+-------+-------------------+
| 1     | 1,2,3,4,5,6       |
+-------+-------------------+
| 2     | 1,2,3             |
+-------+-------------------+
| 3     | 3,4,5,6           |
+-------+-------------------+
Dans mon exemple, je cherche à lister tous les IDs contenant la valeur 5. Soit 1 et 3.

Pour y parvenir, ma requête contient les lignes suivantes dans la clause WHERE :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
WHERE table.references LIKE '5,%', 
OR table.references LIKE '%,5,%',
OR table.references LIKE '%,5'
Est-ce qu'il n'y aurait pas qqchose de plus simple et de moins énergivore pour comparer une valeur à une liste stockée dans un champ (genre "listfind()" ou autre) ?

Bien à tous,

Serge