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 -
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:
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!
A voir également:
- Lister des champs VARCHAR en MySQL
- Liste déroulante en cascade - Guide
- Mysql community server - Télécharger - Bases de données
- Lister les disques cmd - Guide
- Liste des appareils connectés - Guide
- Word mettre à jour tous les champs - Forum Word
7 réponses
Salut,
Et comme ça ne te conviens pas? (Je n'ai pas testé)
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
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!
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:
J'aurais le résultats suivant:
Alors que mois j'aimerais avoir un résulat plutôt de cette forme
Avec toutes les villes du même groupe listés!
J'espère que c'est plus clair!
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!
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;
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;