Page 1 sur 1

Requête séléctive en profondeur ...

Posté : 27 avr. 2006, 20:33
par Tictac
Bonjour , je voudrais savoir s'il y a possiblité de voir directement avec une requete sql si dans un champ ou j'ai des valeurs séparée par une , une certaine valeur s'y trouve !
EX:

TABLE option
id (1)
all(1,4,5,6)

Je voudrais pouvoir directement séléctionner les valeur "id" de l'option pour laquel il y a la valeur 5 dans le champ "all" !!!

Tout ca pour m'eviter de tout extraire puis de faire un in_array() pour vérifier que la valeur est dedans !!


merci d'avance

Re: Requête séléctive en profondeur ...

Posté : 27 avr. 2006, 20:50
par Hubert Roksor
C'est possible, mais ce n'est pas la bonne solution.

C'est une question qui revient très fréquemment sur les forums, je te conseille de chercher "normalisation", "normalisation des données", "forme normale" sur les forums et sur Google.

Au lieu de stocker "all = '1,4,5,6'", il te faut créer un enregistrement pour chaque valeur, donc dans l'exemple tu aurais 4 enregistrements: (1,1), (1,4), (1,5) et (1,6). À partir de là, rien de plus facile qu'exécuter

Code : Tout sélectionner

SELECT id FROM table WHERE valeur = 5

Posté : 04 mai 2006, 08:13
par Tictac
oui c'est juste !!! :wink: