Lister des champs VARCHAR en MySQL
Résolu
riders974
Messages postés
126
Statut
Membre
-
Klytorh Messages postés 30 Statut Membre -
Klytorh Messages postés 30 Statut Membre -
Bonjour,
J'aimerais pouvoir lister des champs VARCHAMP en MYSQL et je ne sais pas si c'est possible. C'est peut être flou mais je vais vous expliquer avec un exemple. Imaginon, j'ai une table comme ci-dessous:
Si j'effectue une requete SELECT *, ??? AS villes FROM villes WHERE idnref=2 GROUP BY idnref ORDER BY nom
J'aimerais avoir une sorte de commande à la place de ??? qui permet de regrouper les villes de cette manière: Cergy, Nanterre, Paris
Je ne sais pas si ça existe!
Je suis ouvert à tout autre méthode, bien sure en évitant de passer par du PHP!
Merci pour vos réponses!
J'aimerais pouvoir lister des champs VARCHAMP en MYSQL et je ne sais pas si c'est possible. C'est peut être flou mais je vais vous expliquer avec un exemple. Imaginon, j'ai une table comme ci-dessous:
villes idn - idnref - nom ------------------------------- 1 1 Toulouse 2 1 Agen 3 2 Paris 4 2 Cergy 5 2 Nanterre
Si j'effectue une requete SELECT *, ??? AS villes FROM villes WHERE idnref=2 GROUP BY idnref ORDER BY nom
J'aimerais avoir une sorte de commande à la place de ??? qui permet de regrouper les villes de cette manière: Cergy, Nanterre, Paris
Je ne sais pas si ça existe!
Je suis ouvert à tout autre méthode, bien sure en évitant de passer par du PHP!
Merci pour vos réponses!
7 réponses
-
Salut,
Et comme ça ne te conviens pas? (Je n'ai pas testé)
SELECT *FROM villes WHERE idnref=2 AND (nom='Cergy' OR nom='Nanterre' OR nom='Paris') GROUP BY idnref ORDER BY nom
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108 -
non car la table villes est censé être alimenté dynamiquement et donc les valeurs sont inconnues et iensure le filtre agit seulement sur idnref et non pas nom aussi!
Ce que je voulais dire qui n'a pas été bien compris peut être c'est lors de la récupération des valeurs du résultats, j'aimerais récupérer une variable "villes" qui possède les valeurs "Cergy, Nanterre, Paris" et d'autre si il y a d'autre occurrence avec idnref=2! -
il faudrait que tu expliques un peu plus: en tout cas ce que j'ai remarqué dans ta question c'est qu'il est inutile de faire un "groupe by idnref" alors que tu as la condition "where idnref=2"...
;) -
Non, il faut absolument que je groupe car mois ce que je veux au final c'est avoir une ligne:
Imaginons j'excute cette ligne suivante:SELECT * FROM villes WHERE idnref=2 GROUP BY idnref ORDER BY nom
J'aurais le résultats suivant:4 2 Cergy
Alors que mois j'aimerais avoir un résulat plutôt de cette forme4 2 Cergy, Nanterre, Paris
Avec toutes les villes du même groupe listés!
J'espère que c'est plus clair! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ah ok j'ai compris:
d'abord tu ne pourra pas afficher la colonne id des villes puisqu'il est différent pour chaque ville:
essaies avec la commande group_concat():
SELECT idnref, GROUP_CONCAT(nom) FROM villes GROUP BY idnref; -
oui, je sais mais aprés il y a un traitement PHP et le champ idn j'en ai pas besoin!
En tout cas merci, c'est exactement ce que je cherchais! sauf qu'il me colle tout mais un petit str_replace() et ça tourne nikel!
merci! -
Pense a mettre resolu sur ton sujet sa aide a savoir ou l'on a plus besoin de venir ^^