[SQL] Comparer 2 tables en SQL [Résolu/Fermé]

Signaler
-
 kabylus -
Bonjour,

Voilà je possède 2 tables tabA et tabB ayant la même structure :
tabA possède les champs :
champ1
champ2
champ3

tabB possède les champs :
champ1
champ2
champ3

Je voudrais pouvoir comparer les données présentes dans les tables afin de savoir si elles contiennent exactement la même chose.

Je voulais aussi savoir s'il était possible de faire une restriction sur 1 des champs, c'est-à-dire que je ne veux comparer que les lignes ayant le champ1 = à 'BABA'.

Merci de votre aide.

One

3 réponses

Bonsoir,

Pour un contrôle sur un seul champ, ça devrait ressembler à ça :
NB: Attention, je n'ai procédé à aucun test !!!


SELECT TB1.champ1, TB2.champ1, TB1.champ2, TB2.champ2
FROM TB1 LEFT JOIN TB2 ON TB1.champ1 = TB2.champ1 GROUP BY TB1.champ1, TB2.champ2, TB1.champ1, TB2.champ2 HAVING (((TB2.champ1)<>[tb1].[champ1]));


Pour faire avancer le schmilblick

Cordialement
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

select * from track 
intersect 
select * from blist


Là tu auras les lignes presentes dans les deux tables
Messages postés
16
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
12 juin 2009
1
salut, je relance la question

je me trouve dans une base nommée track, contenant 2 tables ' track ' et ' blist '.
track = contient la liste des ip des visiteurs
blist = contient la liste des ip bloqués


je voudrais comparé les 2 tables pour surligné (dans un tableau déjà crée) la ligne ou se trouve (eventuellement) une ip qui se trouverais dans les 2 tables.

J'ai essayer de faire qq chose seul ( qui ne marche pas bien évidament ^^)


<?


mysql_connect ( "" , "" , "" );
mysql_select_db ( "track" );

$toto = mysql_query ( " select track.key, blist.ip from track where track.key=blist.ip limit 0,10 " );

/***********************************
' key ' etant le champ comprenant les ip dans track
' ip ' etant le champ comprenant les ip dans blist
***********************************/

$momo = mysql_fetch_array ($toto);

echo $momo;
echo 'lol';


?>



la c'est juste un test pour ecrire les ips qui se trouvent dans les 2 tables, pour le surlignage j'adapterais aux besoins apres.
(ps: le " echo 'lol'; " est la juste pour verifier si je lis bien tout le code )

Si quelqu'un peut m'aider.