MYSql

Résolu
GwadaCham Messages postés 8 Statut Membre -  
 comrad85 -
Bonjour,
Voici le pb,

Je cherche a faire une requête avec MYsQl V5. qui permette de trouver tous les enregistrements d'une table qui n'existent pas dans une autre.

Table P
A
B
C
D

TABLE M
A
B
C
D
E

La requête doit retourner E.

Merci beaucoup.
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. atomy Messages postés 460 Date d'inscription   Statut Membre 92
     
    Salut,

    Fais une boucle pour chaque enregistrements (A et A, B et B, ...)
    Ensuite, fais une condition pour tester s'ils sont égaux...

    Et celles ou ceux qui ne sont pas égaux, mets le(s) dans une table temporaire que tu pourras consulter à ton gré!!

    Voilà!
    0
  2. GwadaCham Messages postés 8 Statut Membre
     
    C'est effectivement une solution qui fonctionne. On sort deux tableaux images de Table P et Table M, puis on recherche en programmation classique avec deux boucles imbriquées les éléments du tableau M qui n'appartiennent pas au Tableau P.
    C'est simple et fonctionne très bien lorsqu'il y a peu d'enregistrements.
    Les bases de données au travers de requêtes permettent d'obtenir la même chose de façon optimisée ; mais voila, l'unique neurone qui me reste après de nombreux essais et consultation sur internet n'arrive pas à me pondre cette requête.

    Je te remercie vivement pour ta réponse mais je souhaite rester purement SQL (MYsql V5.)

    cordialement.
    0
  3. vignemail1 Messages postés 1262 Statut Contributeur 259
     
    SELECT s1 FROM M WHERE s1 NOT IN (SELECT s1 FROM P);

    valide depuis MySQL 4.1 il me semble
    0
  4. GwadaCham Messages postés 8 Statut Membre
     
    1°) CA MARCHE avec une adaptation à mon cas précis.
    2°) BILAN

    Première table (qques champs utiles)
    CB_membres
    membres_cptr : clé primaire auto-incrémentée.
    membre_nom

    Deuxième table
    CB_plongeurs
    plongeur_cptr : clé primaire auto-incrémentée.
    plongeur_nom
    plongeur_id_unique : C'est la recopie de la valeur de membre_cptr pour cet enregistrement, permet de faire le lien 1-1 entre les deux tables.

    Objectif :
    Trouver les noms des membres de l'association qui ne sont pas inscrits à la plongée.

    Requete finalisée :

    SELECT membre_nom FROM CB_membres
    WHERE membre_cptr NOT IN (select plongeur_id_unique FROM CB_plongeurs)
    ORDER BY membre_nom,........ ASC

    Merci de ton aide.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GwadaCham Messages postés 8 Statut Membre
     
    Mon problème est donc résolu, je pense qu'il y en aura d'autres.
    0
  7. GwadaCham Messages postés 8 Statut Membre
     
    Pourquoi quand je coche pb résolu ca ne fonctionne pas ?
    0
  8. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Il est bien marqué comme résolu, rassure-toi :)
    Mais « résolu » ne signifie pas « cloturé » par ici !
    0
  9. comrad85
     
    Bonjour, je voulais juste savoir si on pouvait pas faire cela avec un "LEFT OUTER JOIN"?????
    merci
    0