Group Concat & Like [MySQL] - SQL/NoSQL - Programmation
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 !
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 !