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] Selection code inexistant dans une autre table


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut [SQL] Selection code inexistant dans une autre table
    Bonjour,

    Je débute en SQL et j'essaye de contruire une requete qui recherche toutes les factures qui ne se trouvent pas dans une autre table :

    Ici une facture en devise qui n'existe pas dans la table facture :

    Cette requete fonctionne mais elle est très lente car ces 2 tables sont énorme, y a-t-il moyen de l'optimiser ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT FD.Numero_facture
    FROM FACTDEV FD
    WHERE NOT EXISTS (SELECT F.Numero_facture FROM FACT F)
    Cordialement.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Tu peux aussi essayer comme celà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT  fd.numero_facture
    FROM    factdev AS fd
        LEFT JOIN
            fact    AS f
            ON f.numero_facture = fd.numero_facture
    WHERE   f.numero_facture IS NULL
    ;
    ou comme celà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT  fd.numero_facture
    FROM    factdev AS fd
    WHERE   fd.numero_facture NOT IN 
            (   SELECT  f.numero_facture 
                FROM    fact AS f 
            )
    ;
    Assure-toi surtout que la colonne numero_facture soit indexée dans les deux tables.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut
    Oui c'est ma clef primaire dans les 2 tables
    Et attention je travail avec Paradox. On essaye de faire du pseudo SQL, enfin du mieux qu'on peut avec les moyens du bord.

    Pour la 1ère solution, je viens aussi de la trouver dans le forum dans de plus vieux message.

    Et la c'est nettement plus rapide.

    Merci encore.

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

Discussions similaires

  1. [AC-2007] Requete selection d'enregistrements inexistants dans une autre table
    Par Benj24 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/04/2010, 20h29
  2. enregistrement inexistant dans une autre table
    Par marcoxx dans le forum SQL
    Réponses: 6
    Dernier message: 12/04/2010, 21h38
  3. [SQL] select en fonction d'une autre table
    Par rduvrac dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/03/2008, 13h45
  4. Requete SQL sur une table dont le nom est dans une autre table
    Par orangepresse dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/09/2007, 13h32
  5. Selection d'une valeur dans une autre table
    Par beurnoir dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h02

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