Partage
  • Partager sur Facebook
  • Partager sur Twitter

ORDER BY autre que DESC et ASC

Sujet résolu
    29 novembre 2010 à 9:40:50

    Salut à tous les zéros !!
    Voilà, je voudrais afficher ma liste de statut par ordre mais avec mes priorités, je m'explique :

    id statut nom ...
    1 COL DUPONT ...
    2 LCL DURAND ...
    3 CDT JULIAN ...
    4 COL PIERRE ...
    5 LCL FEURET ...
    ... ... ... ...


    Donc je souhaite avoir une liste qui s'affiche dans cet ordre : COL --> LCL --> CDT
    Clairement :
    - COL = A
    - LCL = B
    -etc...
    Quelle serait la requete SQL ?

    mysql_query('SELECT * FROM toeic ORDER BY ??? ')

    MERCI D'AVANCE.
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2010 à 9:48:27

      A mon avis, la seule solution est de faire une table qui définit tes priorités. Ensuite, via une jointure, ça ira tout seul.
      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2010 à 9:52:26

        D'accord.
        Peux-tu me donner un exemple du code SQL ?
        Car je suis en train de tester les jointures et j'ai encore un peux de mal pour les syntaxes.
        MERCI.
        • Partager sur Facebook
        • Partager sur Twitter
          29 novembre 2010 à 10:00:17

          SELECT table1.nom, table1.statut 
          FROM table1 
          INNER JOIN table2 ON table1.statut = table2.statut 
          ORDER BY table2.priority
          
          • Partager sur Facebook
          • Partager sur Twitter
            29 novembre 2010 à 19:04:07

            Il faut utiliser FIELD :

            --
              SELECT id, statut, nom
                FROM ta_table
            ORDER BY FIELD(statut, 'COL', 'LCL', 'CDT');
            


            Mais c'est pas très évolutif. Tu fais quoi si tu veux ajouter un nouveau statut ? Tu es obligé de changer tes requêtes à chaque fois. Il faudrait effectivement mieux que tu utilises une table de plus pour stocker l'ordre.
            • Partager sur Facebook
            • Partager sur Twitter
              1 décembre 2010 à 9:24:36

              Merci pour les exemples.
              Je vais essayer tout ça.
              • Partager sur Facebook
              • Partager sur Twitter

              ORDER BY autre que DESC et ASC

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown