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 :

recherche de donnée dans deux tables


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut recherche de donnée dans deux tables
    salut,

    J'ai une table A avec des individus et une table B avec le ou les telephone des individus
    et ce que je souhaiterai , c'est avoir les individus qui n'ont pas de numero de telephone et donc qui ne sont pas dans la table B;

    J'ai essayer cela mais sa ne fonctionne pas,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select a.numind,b.numind,b.numtel from A a left outer join B b on a.numind=b.numind
    and b.numtel is null
    si vous avez des reponses
    Merci,

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par donny
    J'ai essayer cela mais sa ne fonctionne pas
    Avec une information aussi précise on est forcément capable de déterminer ce qui cloche

    Si vous recherchez les lignes de la table A n'existant pas dans la table B alors votre requête est correcte en tout cas au niveau de la logique.

    Quel est votre SGBD et sa version ?
    Avez-vous un message d'erreur ?

    Une alternative est de passer par une sous-requête avec la clause NOT IN ou NOT EXISTS si votre SGBD supporte les sous-requêtes bien sûr.

    [EDIT]
    al1_24 a raison : la dernière condition doit figurer dans la clause WHERE et non dans la clause FROM
    [/EDIT]
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Comme ça, ça ira mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select a.numind,b.numind,b.numtel 
    from A a 
      left outer join 
        B b 
        on a.numind=b.numind
    WHERE b.numtel is null
    N'hésitez pas à indenter votre code, il n'en sera que plus lisible
    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.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Je me permet de proposer une autre solution, bien que celle de al1_24 fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.numind
    FROM A a
    WHERE a.numind NOT IN ( SELECT b.numind
                            FROM B b );
    Sous-réserve que la syntaxe NOT IN soit supportée, je pense que cette requête fonctionne

Discussions similaires

  1. Recherche élément commun dans deux tables
    Par marime dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/05/2011, 16h27
  2. insérer des données dans deux tables liées
    Par joprog dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/12/2010, 18h24
  3. ajout données dans deux tables liées
    Par nat2814 dans le forum IHM
    Réponses: 2
    Dernier message: 20/03/2009, 14h19
  4. ajout données dans deux tables liées
    Par nat2814 dans le forum IHM
    Réponses: 1
    Dernier message: 27/02/2009, 20h54
  5. données dans deux tables différentes
    Par [Hugo] dans le forum Langage SQL
    Réponses: 9
    Dernier message: 09/11/2007, 12h51

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