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

MS SQL Server Discussion :

La clause: Order By


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut La clause: Order By
    Bonjour à tous,

    Je me demandais s'il était possible de spécifier l'ordre d'affichage de données dans un ordre bien particulier.
    Par exemple (pour l'alphabet):

    au lieu d'avoir A,B,C,D,E,... (ou Z,Y,X,W,...) je pouvais avoir quelque chose du style B,H,A,D,F,C,... (définit dans la clause ORDER BY)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from MaTable order by NomColonne = ???
    Merci pour votre aide

    A+

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Points : 143
    Points
    143
    Par défaut
    Rien ne t'empêche d'avoir un modèle de données qui couvre tes besoins !

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    	-- ON CREE UNE TABLE CONTENANT LES ELEMENTS A CLASSER
    CREATE TABLE tbl_Fruits
    (Num INT IDENTITY(1,1) PRIMARY KEY,
    Label VARCHAR(10))
     
    	-- ON L'ALIMENTE
    INSERT INTO tbl_Fruits VALUES('Pomme')
    INSERT INTO tbl_Fruits VALUES('Ananas')
    INSERT INTO tbl_Fruits VALUES('Kiwi')
    INSERT INTO tbl_Fruits VALUES('Orange')
     
    	-- ON CREE UNE TABLE DE TRI...
    CREATE TABLE tbl_Fruit_Sort
    (Num INT IDENTITY(1,1),
    FruitId	INT NOT NULL,
    FruitOrder INT)
     
    	-- ...LIEE A LA TABLE DES ELEMENTS PAR UNE FK
    ALTER TABLE tbl_Fruit_Sort ADD CONSTRAINT FK_fruit_order FOREIGN KEY(FruitId) REFERENCES Tbl_Fruits(Num)
     
    	-- ON L'ALIMENTE
    INSERT INTO Tbl_Fruit_Sort
    (FruitID,FruitOrder)
    VALUES (1,3)
     
    INSERT INTO Tbl_Fruit_Sort
    (FruitID,FruitOrder)
    VALUES (3,2)
     
    INSERT INTO Tbl_Fruit_Sort
    (FruitID,FruitOrder)
    VALUES (4,4)
     
    INSERT INTO Tbl_Fruit_Sort
    (FruitID,FruitOrder)
    VALUES (2,1)
    Et on test le tout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT FS.FruitOrder,F.Label
    FROM tbl_Fruits F	
    	INNER JOIN  Tbl_Fruit_Sort FS ON F.Num=FS.FruitID
    ORDER BY FS.FruitOrder
    On obtient :
    FruitOrder Label
    1 Ananas
    2 Kiwi
    3 Pomme
    4 Orange

  3. #3
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Sur base de la seule colonne "NomColonne", non ce n'est pas possible.

    Si tu ajoutes une nouvelle colonne qui reprendrait un chiffre p.e. et que tu assignes le chiffre en fonction de ta logique; alors cela devient possible.

  4. #4
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci le gars

    Je n'avais pas pensé à une table de tri ainsi que d'une colonnes supllémentaires!

    Super

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

Discussions similaires

  1. Problème clause "ORDER BY" dans bloc PL/SQL
    Par craweb dans le forum PL/SQL
    Réponses: 3
    Dernier message: 05/03/2007, 09h33
  2. Clause order by pour requête sur DB2
    Par Clotilde dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/01/2006, 10h21
  3. [SQL Server 8] La clause order by
    Par Baquardie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/01/2006, 22h58
  4. Pb avec la clause ORDER BY...
    Par Karibou dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 16/08/2005, 14h48
  5. Réponses: 10
    Dernier message: 30/11/2004, 10h12

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