Comparer dans plusieurs tables d'une BDD
MoYoX
Messages postés
140
Statut
Membre
-
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
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
Configuration: Windaubouze Vistapette Firefox 2142
2 réponses
-
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)" ? -
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