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

Langage SQL Discussion :

[SQL Server] tri personnalisé


Sujet :

Langage SQL

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut [SQL Server] tri personnalisé
    Bonjour à tous,

    J'utilise SQL SERVER 2000 et je voudrais faire une requête qui affiche la 1ère ligne vide (le nom du pays) et ensuite les autres pays.

    code
    Select distinct '' as libpays from pays
    UNION
    Select distinct libpays from resa

    Après l'exécution de cette requête je n'ai pas de ligne vide en première ligne.


    Merci

  2. #2
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    tu veux afficher la première ligne vide mais selon quel critère?
    le nombre d'habitants, l'id de l'enegistrement, la date....
    il faudrait plus de précisions sur ce que tu veux faire, ce n'est pas très clair..
    donnes la structure des tables notamment et des exemples de données

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour à tous,

    J'ai dans une form plusieures zones qui permettent à l'utilisateur d'introduire des critères dont une zone destination (pays) et je voudrais la remplir par les nom des pays.
    Je voudrais en premier avoir une ligne vide dans la zone pays au cas ou il ne sélectionne pas le critère pays, et ensuite le nom des pays qui se trouvent dans une autre table Resa.
    Voici mes deux tables :

    Pays
    codepays libpays
    FR France
    IT Italie

    Resa (contient plusieures champs entre autre Libpays)
    seqresa libpays
    000001 France
    000002 France
    000003 Italie

    je voudrais faire une requete qui m'affiche comme résultat

    Libpays
    (Ligne vide)
    France
    Italie

    J’ai fait cette requête
    Select distinct '' as libpays from pays
    Union
    Select distinct libpays from resa order by libpays

    Je n’obtiens pas de ligne vide en premier

    Merci

  4. #4
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    c'est plus clair déjà
    As-tu dans ta table pays un enregistrement et un seul ayant les champs codePays et libpays à null?
    si oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT libpays FROM pays WHERE libpays IS NULL
    UNION
    SELECT  DISTINCT (libpays) FROM resa ORDER BY libpays
    Si tu n'as pas ou ne peux pas avoir de champs null dans ta table pays; une solution est de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ' ' as  libpays FROM pays
    UNION
    SELECT  DISTINCT (libpays) FROM resa ORDER BY libpays
    cela te renvoie un espace...qui correspondra à ton champs vide.

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour à tous,

    Merci Gerald, c'est OK.

    Merci infiniment

  6. #6
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    Juste pour info, tu as retenu quelle solution?

    Un petit tag STP

  7. #7
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Voici également une solution plus générale :
    http://www.developpez.net/forums/sho...1&postcount=32
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour à tous,

    Gerald j'ai utilisé la 2ème solution.

    Merci

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

Discussions similaires

  1. SQl Server tri sur deux colonnes
    Par amine008 dans le forum Développement
    Réponses: 2
    Dernier message: 11/12/2011, 02h50
  2. [SQL server 2005] Problème de tris avec notion Père-Fils
    Par pedrover dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/12/2006, 16h43
  3. Réponses: 5
    Dernier message: 06/10/2006, 12h19
  4. [SQL SERVER ] Tri sur plusieurs champs
    Par fantomchris dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/07/2006, 17h59
  5. [sql server] procedure storée, puis-je mettre un try catch
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/08/2005, 15h14

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