Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2748 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP/Mysql] Comparer deux tables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP/Mysql] Comparer deux tables

n°162435
nasdak
Posté le 19-06-2002 à 12:24:35  profilanswer
 

coucou
 
j'ai deux tables qui ont la meme structure avec quasiment les memes données dans chaque table
je souhaite extraire les données qui sont dans une table et pas dans l'autre
je dois me taper autant de requetes que de données dans la table? ou ya une fonction magique table_compare en php?

mood
Publicité
Posté le 19-06-2002 à 12:24:35  profilanswer
 

n°162461
mrbebert
Posté le 19-06-2002 à 13:26:12  profilanswer
 

Tu peux faire une requête sur chaque table, triée. Ensuite, tu parcours chacun des 2 résultats ligne par ligne en PHP pour comparer.
 
Ou alors, un LEFT JOIN pour récupérer les champs non identiques.

n°162469
nasdak
Posté le 19-06-2002 à 13:54:12  profilanswer
 

mrbebert a écrit a écrit :

Tu peux faire une requête sur chaque table, triée. Ensuite, tu parcours chacun des 2 résultats ligne par ligne en PHP pour comparer.
 
Ou alors, un LEFT JOIN pour récupérer les champs non identiques.  




 
left join? cékoidonc
en fait mes champs sont identiques, avec dans une table, ou l'autre, des lignes ne plus, que je veux isoler

n°162606
mrbebert
Posté le 19-06-2002 à 15:30:27  profilanswer
 

nasdak a écrit a écrit :

 
 
left join? cékoidonc
en fait mes champs sont identiques, avec dans une table, ou l'autre, des lignes ne plus, que je veux isoler  



LEFT JOIN, c'est un peu comme une jointure.
 
SELECT tbl1.Id, tbl2.Id FROM tbl1 LEFT JOIN tbl2 ON tbl1.Id=tbl2.Id;
sera identique à :
SELECT tbl1.Id, tbl2.Id FROM tbl1, tbl2 WHERE tbl1.Id=tbl2.Id;
 
sauf que, dans le premier cas, il y aura tous les éléments de tbl1.
Si un id de tbl1 n'est pas dans tbl2, tu récupèrera la ligne (id, NULL) avec le LEFT JOIN.
 
(pas sur que ce soit très clair :( ).

n°162675
nasdak
Posté le 19-06-2002 à 16:16:34  profilanswer
 

non cé pas super clair :(
j'y arrive toujours pas  :cry:

n°162690
omega2
Posté le 19-06-2002 à 16:32:15  profilanswer
 

Je crois pas que MySQL conaisse les LEFT JOIN.

n°162710
nasdak
Posté le 19-06-2002 à 16:57:01  profilanswer
 

si, mais ca marhce pas, en tout cas ca me permet pas de sortir les lignes qui sont dans une table et pas dans l'autre

n°162729
mrbebert
Posté le 19-06-2002 à 17:21:03  profilanswer
 

Et un truc du genre :
SELECT tbl1.Id, tbl2.Id
FROM tbl1
LEFT JOIN tbl2 ON tbl1.Id=tbl2.Id
WHERE tbl2.Id is NULL
 
Ca devrait te sortir tous les Id de tbl1 qui ne sont pas dans tbl2.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP/Mysql] Comparer deux tables

 

Sujets relatifs
[PHP - MySQL] Problème connexion BDD MySQL (résolu)[PHP - Adobd_Session - Oracle] Probleme de longueur de requete
[PHP] question niveau 5 ( sur 5 ) Array...[IDEE] UN PROG EN PHP POUR DL LES PAGES DU WEB
[mysql]a koi sert l'attribut binary des chps mysql ?[PHP] Boucle qui marche po... j'y comprends rien
[MySQL][NOT IN]qqu'un peut me dire ce qu'il ne va pas la?[PHP-Adodb-Session] Requete trop importante
[PHP] comment faire un upload ? 
Plus de sujets relatifs à : [PHP/Mysql] Comparer deux tables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR