[MySQL]Group Concat & Like

Group Concat & Like [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 05-07-2010 à 13:16:19    

Salut,
 
Je sèche complètement sur un point précis de mon application sous MySQL.
 
J'ai inséré des données dans un champ avec GROUP CONCAT comme ceci :
GROUP_CONCAT(DISTINCT a SEPARATOR ',') AS champgroup
 
ce qui me donne une table dans le style suivant :
id    champgroup
1    1,2,3,4
2    5,7,4,2
3    12,7,25,2
4    5,1,9,5
5    123,56,5
6    1
 
Et maintenant je suis bien emmerdé pour retrouver les valeurs de mon tableau avec un LIKE
si je fais un WHERE champgroup LIKE ("%1%" )
 
Je me retrouve avec les ids suivants : 1,3,4,5,6 au lieu de : 1,4,6 puisque la recherche se fait sur un caractère.
 
Pas moyen d'utiliser la virgule dans le like pour être sûr (voir champ id 6)
 
Il faudrait que je trouve une astuce pour que le GROUP CONCAT me génère un truc dans le style suivant : -1-,-123-,-12-
Ainsi je pourrais faire un LIKE ("%-1-%" ) pour la recherche
... Mais je n'arrive pas à trouver l'astuce permettant de générer ces valeurs sous ce format.  
 
Étant bien sûr à la fin de mon projet, je n'ai pas la possibilité de tout recoder et toute astuce serait la bienvenue !
 
Merci de votre aide !

Reply

Marsh Posté le 05-07-2010 à 13:16:19   

Reply

Marsh Posté le 05-07-2010 à 13:59:08    

Yeah !
J'ai trouvé une solution toute pourrie tout seul !
GROUP_CONCAT(DISTINCT QUOTE(a) SEPARATOR ',') AS champgroup  
 
==> '1','123','11'
 
Trop cool !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed