Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/09/2006, 08h22   #1
Invité régulier
 
Inscription : octobre 2003
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 14
Points : 7
Points : 7
Par défaut [Conception] comparer (croiser) 2 tables

Bonjour,
Je bute sur un petit problème :

J'ai 2 tables : table1 et table2 dont chacune comporte un champ ref

je souhaite savoir quels sont les champs ref de la table2 qui ne se trouvent pas dans la table1
quelqu'un(e) aurait-il une solution élégante (ou même pas élégante)

merci
milan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 08h29   #2
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
Bonjour

je te propose ca:
Code :
1
2
 
select table2.ref from table1,table2 where table2.ref!=table1.ref
a tester (pas trop reveille ce matin )
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 09h24   #3
Invité régulier
 
Inscription : octobre 2003
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 14
Points : 7
Points : 7
Il y a de l'idée (et merci de t'être penché la-dessus après un seul café ). mais j'ai de la redondance.

Voilà :
ma table1 comporte 5 fiches (dont les champ ref sont respectivement 001,002,003,004,005)

ma table2 comporte 3 fiches (dont les champ ref sont respectivement 001,003,005)

j'applique le code suivant :
Code :
1
2
3
4
5
6
 
$req="SELECT table2.ref FROM table1,table2 where table2.ref!=table1.ref";
$resultat= mysql_query($req);
while($reponse=mysql_fetch_object($resultat)){ 
echo $reponse->ref;
}
J'obtiens les bonnes réponses mais quatre fois :
001
001
001
001
003
003
003
003
005
005
005
005

peut-être qu'avec un autre café...
milan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 09h26   #4
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
tu rajoutes un distinct
Code :
1
2
 
$req="SELECT distinct table2.ref FROM table1,table2 where table2.ref!=table1.ref";
et voila
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 09h31   #5
Invité régulier
 
Inscription : octobre 2003
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 14
Points : 7
Points : 7
heu, oui, c'est ce que je viens de faire pendant que tu tapais ta réponse.

ça fonctionne
maintenant je vais tester en réel sur 2 tables dont l'une comporte 1700 fiches et l'autre 680

j'ai peur que ça mouline un peu

ma réponse pour bientôt
et merci
milan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 09h35   #6
Invité régulier
 
Inscription : octobre 2003
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 14
Points : 7
Points : 7
ça ne mouline par trop (2 secondes environ)

Bonne journée

milan
milan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h53.


 
 
 
 
Partenaires

Hébergement Web