Comparer dans plusieurs tables d'une BDD

MoYoX Messages postés 140 Statut Membre -  
MoYoX Messages postés 140 Statut Membre -
Bonjour à tous les gens !

J'ai encore un problème au niveau de la programmation de mon site web.

En effet, je dispose de plusieurs tables dans ma base de données Mysql et j'aimerais faire ceci:

- Je dispose des tables: table_A, table_B, table_C, table_D et table_E

- J'ai besoin d'une requête, ou d'un code php qui cherche des enregistrements (dont les champs sont 'refA'/'refB'/'refC' par exemple) dans table_A, table_B et table_C respectives.

- Une autre requête doit me permettre de comparer avec un champ 'refD' dans table_D tous les enregistrements des champs 'refA/B/C' trouvés dans table_A table_B et table_C.

- La page doit pouvoir, ensuite, copier dans table_E tous les enregistrements 'refD' de table_D qui ne se trouvent ni dans 'refA' de table_A ni dans 'refB' table_B ni dans 'refC' table_C.

En bref, on cherche dans la table_D tous les 'ref' qui ne se trouvent pas dans les tables table_A/B/C pour ensuite placer les enregistrements correspondants dans table_E.

J'ai essayé avec des while($xxx=mysql_fetch_array ...) dans d'autres while($xxx=mysql_fetch_array ...), avec des requêtes imbriquées etc... rien n'a fonctionné.
Les erreurs sont toutes logiques, mais je n'arrive pas à logiquement trouver un code permettant de faire ceci !

D'avance merci à la personne ou aux personnes qui pourra/pourront m'aider !

Momo
A voir également:

2 réponses

biboo
 
En bref, on cherche dans la table_D tous les 'ref' qui ne se trouvent pas dans les tables table_A/B/C pour ensuite placer les enregistrements correspondants dans table_E.

"SELECT ref FROM table_D WHERE ref IN (SELECT * FROM table_A, table_B, table_C)" ?
0
MoYoX Messages postés 140 Statut Membre 3
 
Bonjour et merci pour la réponse rapide !

J'ai pas précisé dans cette phrase que les 'ref' sont en fait des 'refA', 'refB' ou 'refC' selon la table ! (comme je l'ai expliqué au début)

Je ne sais pas si c'est possible avec différents noms de champs
0