#1 Mon 22 November 2004 17:47
- Berengeremas
- Invité
sql differences entre deux tables
De: MAS
bonjour,
je dispose de 2 tables qui representent les meme objets, pan 1 et pan 2
pan 1 a 20 objets
pan 2 a 30 objets
je souhaite selectionner les 10 objets en trop par rapport a pan 2
cordialement
#2 Mon 22 November 2004 17:47
- Pierre Coroller
- Invité
Re: sql differences entre deux tables
Il faut que les deux tables aient un champ commun (cod1 dans pan1, cod2 dans
pan2)
Pour trouver les objets de pan2 qui ne sont pas dans pan1 :
select * from pan2 where not cod2 in (select cod1 from pan1)
Attention : tous les objets de pan1 ne sont peut etre pas dans pan2
Dans ce cas, il faudra refaire inverser la selecton pour les trouver
Cordialement.
Pierre COROLLER
pierre.coroller@ camping-gaz.tm.fr
#3 Mon 22 November 2004 17:47
- Annick Lagnion
- Invité
Re: sql differences entre deux tables
La selection proposee fonctionne.
une autre solution pour trouver les differences entre deux tables consiste a
utiliser ajouter colonne .
ajouter colonne provisoire a pan2 en faisant une jointure entre les 2 tables
(il suffit de choisir pour completer cette colonne quelque chose qui
permettra trouver facilement les enregistrements qui n'ont pas de
correspondant valeur 0 ou chaine vide par exemple uniquement dans les
enregistrements sans correspondant).
on peut faire la manip dans les 2 sens (ajouter une colonne a pan1 puis
ajouter une colonne a pan2 si il y beaucoup de meli melo dans les fichiers)
avantage par rapport a la requete : on aura pas d'enregistrements multiples
ni de trous .
Annick Lagnion
DDE29