IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Requête avec ordre particulier


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2018
    Messages : 43
    Par défaut Requête avec ordre particulier
    Bonjour,
    J'ai une table qui gère des noms de villes et de quartiers. Les colonnes sont ID, Nom, Ville, exemple

    ID Name Ville
    1 Paris NuLL
    2 Lille NULL
    3 Quartier1 2
    4 Quartier2 1

    La requête me permet de récupérer les éléments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT a.ID as ID, a.Name as Name, b.Name as Ville FROM area as a LEFT JOIN area as b ON b.ID = a.Ville;
    Je souhaiterais que ces éléments puissent êtres classés, avec la ville en premier et les quartiers associés ensuite.

    ID Name Ville
    1 Paris NULL
    4 Quartier2 Paris
    2 Lille NULL
    3 Quartier1 Lille

    Merci

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 640
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Il faut utiliser un CASE dans la clause ORDER BY
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select T1.id
         , T1.name
         , T2.name
    from area T1
    left join area T2
        on T2.ville=T1.id
    where T1.ville is null
    order by case when T1.ville is null then T1.name
                  else T1.ville
             end

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2018
    Messages : 43
    Par défaut
    Merci pour ton retour mais ta requete me renvoie


    ID Name Ville
    1 Paris NuLL
    2 Lille NULL

    En enlevant WHERE T1.Ville IS NULL j'obtiens l'ensemble des résultats mais pas dans l'ordre souhaité

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2018
    Messages : 43
    Par défaut
    Pour information voici la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT a.ID as ID, 
                a.Name as Name, 
                b.Name as Ville 
    FROM area  a 
    LEFT JOIN area b 
                ON b.ID = a.Ville
    ORDER BY COALESCE(a.Ville, a.ID), a.Ville IS NOT NULL, a.ID;
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec ordre des champs d’une requête
    Par Bonero dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/10/2012, 10h44
  2. Grosse requête avec tri de date particulier
    Par Lianodel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/08/2011, 09h02
  3. Requête avec regroupement "particulier"
    Par access_balou dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/10/2008, 14h37
  4. Requête Select avec un ordre particulier
    Par nice dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/03/2007, 11h59
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo