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

SQL Oracle Discussion :

Optimisation de requete SQL


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Optimisation de requete SQL
    Bonjour,

    J'ai la requete suivante avec un MINUS est-il possible de faire la même chose mais avec une seule passe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT HO_NUM 
    FROM   HOSPITALISATION, ADRESSE 
    WHERE  ADRESSE.AD_MANUMDOS = HOSPITALISATION.HO_MANUMDOS
      AND  ADRESSE.AD_VNCODE = '0003' 
     AND  ADRESSE.AD_VNCODEDIST = '000' 
      AND  HOSPITALISATION.HO_PREENT IS NULL 
    MINUS 
    SELECT HO_NUM 
    FROM   HOSPITALISATION, ADRESSE B 
    WHERE  B.AD_MANUMDOS = HOSPITALISATION.HO_MANUMDOS
     AND  B.AD_CACODE = 'MB' 
     AND  HOSPITALISATION.HO_PREENT IS NULL
    Merci Nico

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Tu peux utiliser not exists (c'est pas dit que ça aille plus vite)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT HO_NUM 
    FROM HOSPITALISATION h1, ADRESSE ad
    WHERE ad.AD_MANUMDOS = h1.HO_MANUMDOS
    AND ad.AD_VNCODE = '0003' 
    AND ad.AD_VNCODEDIST = '000' 
    AND h1.HO_PREENT IS NULL 
    AND NOT EXISTS (SELECT 1 
                    FROM HOSPITALISATION h2, ADRESSE b
                    WHERE b.AD_MANUMDOS = h2.HO_MANUMDOS
                    AND b.AD_CACODE = 'MB' 
                    AND h2.HO_PREENT IS NULL 
                    AND h2.ho_num = h1.ho_num)
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Je me trompe peut-être mais n'est ce pas tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT HO_NUM 
    FROM   HOSPITALISATION, ADRESSE 
    WHERE  ADRESSE.AD_MANUMDOS = HOSPITALISATION.HO_MANUMDOS
      AND  ADRESSE.AD_VNCODE = '0003' 
      AND  ADRESSE.AD_VNCODEDIST = '000' 
      AND  HOSPITALISATION.HO_PREENT IS NULL
    AND ADRESS.AD_CACODE <> 'MB'
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Oups, j'ai oublié un élément important : Le MINUS fait un distinct.

    Garuda, c'est pas dit que ça marche si tu as plusieurs lignes d'adresse.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

Discussions similaires

  1. [MySQL] Optimisation de requete SQL
    Par fabien14 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/09/2006, 09h39
  2. Optimisation de requetes SQL sous oracle
    Par santana2006 dans le forum Oracle
    Réponses: 5
    Dernier message: 28/08/2006, 19h26
  3. Réponses: 2
    Dernier message: 17/08/2006, 11h49
  4. Optimisation de requete SQL
    Par dark_vidor dans le forum Requêtes
    Réponses: 12
    Dernier message: 15/01/2006, 20h40
  5. Optimiser une Requetes SQL sous ASP
    Par NeHuS dans le forum ASP
    Réponses: 8
    Dernier message: 18/04/2005, 16h26

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