MYSql
Résolu
GwadaCham
Messages postés
8
Statut
Membre
-
comrad85 -
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.
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
-
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à! -
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. -
SELECT s1 FROM M WHERE s1 NOT IN (SELECT s1 FROM P);
valide depuis MySQL 4.1 il me semble -
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. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Mon problème est donc résolu, je pense qu'il y en aura d'autres.
-
-
Il est bien marqué comme résolu, rassure-toi :)
Mais « résolu » ne signifie pas « cloturé » par ici ! -
Bonjour, je voulais juste savoir si on pouvait pas faire cela avec un "LEFT OUTER JOIN"?????
merci