MYSql

Résolu
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. 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
    1. 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
      1. Contributeur
        SELECT s1 FROM M WHERE s1 NOT IN (SELECT s1 FROM P);

        valide depuis MySQL 4.1 il me semble
        0
        1. 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
          1. Mon problème est donc résolu, je pense qu'il y en aura d'autres.
            0
            1. Pourquoi quand je coche pb résolu ca ne fonctionne pas ?
              0
              1. Il est bien marqué comme résolu, rassure-toi :)
                Mais « résolu » ne signifie pas « cloturé » par ici !
                0
                1. Bonjour, je voulais juste savoir si on pouvait pas faire cela avec un "LEFT OUTER JOIN"?????
                  merci
                  0