Lister des champs VARCHAR en MySQL

Résolu
riders974 Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   -  
Klytorh Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -
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:

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!

A voir également:

7 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
0
riders974 Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   8
 
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!
0
samy
 
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"...
;)
0
riders974 Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   8
 
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 forme
4            2             Cergy, Nanterre, Paris

Avec toutes les villes du même groupe listés!

J'espère que c'est plus clair!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
samy
 
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;
0
riders974 Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   8
 
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!
0
Klytorh Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
Pense a mettre resolu sur ton sujet sa aide a savoir ou l'on a plus besoin de venir ^^
0