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 :

une requete pour ne ramener qu'une seule instance parmi plusieurs


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut une requete pour ne ramener qu'une seule instance parmi plusieurs
    Bonjour,

    Je sèche sur un pb tout simple : j'ai une requete qui peut me ramener plusieurs records, mais je n'en veux qu'un (n'importe lequel). En fait la requete doit ramener rien (les données sont OK), ou quelque chose (les données sont NOK).
    Habituellement j'utilise MIN ou MAX pour cela, mais aujourd'hui j'ai deux champs à ramener.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> desc r_se_vol 
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     AIRSPACE_ENV_NAME                         NOT NULL VARCHAR2(20)
     ATC_CENTRE_NAME                           NOT NULL VARCHAR2(8)
     CONTROLLED_AREA_NAME                      NOT NULL VARCHAR2(5)
     AIRSPACE_ENV_NAME_A                       NOT NULL VARCHAR2(20)
     VOLUME_NAME                               NOT NULL VARCHAR2(20)
     
    select r1.CONTROLLED_AREA_NAME,r1.VOLUME_NAME from r_se_vol r1
    where r1.airspace_env_name='XXXX'
    Merci de votre aide

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Ca a l'air d'être de l'Oracle, utilisez rownum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT r1.CONTROLLED_AREA_NAME, r1.VOLUME_NAME
    FROM r_se_vol r1
    WHERE rownum = 1

  3. #3
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Si tu veux rester sur du non-spécific Oracle, tu peux aussi utiliser les fonctions analytiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT t.CONTROLLED_AREA_NAME, t.VOLUME_NAME 
    FROM (
    SELECT r1.CONTROLLED_AREA_NAME, r1.VOLUME_NAME, ROW_NUMBER() OVER(ORDER BY NULL) rk
    FROM r_se_vol r1
    ) t 
    WHERE rk = 1

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  4. #4
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    Merci de ces deux réponses très interressantes.

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

Discussions similaires

  1. [AC-2003] Exécution d'une requete de regroupement puis d'une requete de mise à jour
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 13/03/2014, 11h16
  2. [2008] Aide pour la conception d'une requete pour un dataset
    Par dodda11 dans le forum SSRS
    Réponses: 1
    Dernier message: 24/04/2012, 12h09
  3. Réponses: 2
    Dernier message: 20/11/2011, 16h17
  4. Réponses: 1
    Dernier message: 16/10/2008, 17h20
  5. Réponses: 8
    Dernier message: 21/07/2006, 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