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 :

Gestion de la performance


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut Gestion de la performance
    Bonjour,

    Je voudrais savoir quelle est la meilleure façon de faire pour vérifier par exemple si un contrat de la tableA exitse dans la tableB.
    La clé commune aux deux tables (id_contrat).

    Merci!

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    créer une foreign key si ça présence est obligatoire

    Sinon,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM TableA
    WHERE id_contrat NOT IN (SELECT  id_contrat FROM TableB)
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM TableA A
    WHERE NOT EXISTS (SELECT 1 FROM TableB B WHERE A.id_contrat=B.id_contrat)

  3. #3
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    Merci pour la réponse mais est-il possible de mettre en place une jointure classique pour la même requête et si non pourquoi ?

    Merci!

  4. #4
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    Une dernière chose si possible!

    Je dois exécuter une requête
    qui m'affiche les contrats de la table A (id_contrat)
    qui existent dans la table B (id_contrat) et
    qui ont un statut (statut <>'d') dans la table C (id_contrat, statut) et
    qui ne sont pas dans la table D (id_contrat)

    Merci!

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    C'est pour vos exercices de cours ?

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par Jinkas Voir le message
    Une dernière chose si possible!

    Je dois exécuter une requête
    qui m'affiche les contrats de la table A (id_contrat)
    qui existent dans la table B (id_contrat) et
    qui ont un statut (statut <>'d') dans la table C (id_contrat, statut) et
    qui ne sont pas dans la table D (id_contrat)

    Merci!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM TableA A INNER JOIN TableB B ON A.id_contrat=B.id_contrat
    WHERE statut <> 'd'
    AND NOT EXISTS (SELECT 1 FROM TableC C WHERE A.id_contrat=C.id_contrat)

  7. #7
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    Désolé la requête ne fonctionne pas mais aussi la table D n'est pas utilisée.

Discussions similaires

  1. gestion des données statiques / performance
    Par citizen_walker dans le forum JPA
    Réponses: 1
    Dernier message: 17/03/2008, 17h14
  2. Réponses: 9
    Dernier message: 20/03/2007, 19h56
  3. [SOLARIS] Gestion de la performance
    Par bilelle dans le forum Solaris
    Réponses: 1
    Dernier message: 09/10/2006, 13h31

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