2009-06-25 5 views
0

J'ai deux tables avec exactement les mêmes champs. Le tableau A contient 7160 enregistrements et la table B 7130 enregistrements. Maintenant, je veux insérer des enregistrements distincts de la table A dans la table B de telle sorte que B ne devrait pas avoir d'entrée en double. Comment devrais-je faire cela?Insertion d'entrées distinctes dans la base de données

Répondre

1

Il sélectionne essentiellement des documents qui sont en A qui ne sont pas en B. Il fonctionnerait, mais vous pourriez avoir à modifier le champ que vous utilisez pour unique identifier un enregistrement. Dans cet exemple, j'utilisé le champ 'ID', mais vous pourriez avoir à changer cela pour A.field1 = B.field1 ET A.field2 = B.field2 etc.

INSERT INTO TABLEB 
(
SELECT A.* 
FROM TABLEA A 
LEFT JOIN TABLEB B ON A.ID = B.ID 
WHERE B.ID IS NULL 
) 
0
insert into tableB (id) 
select t1.id from tableA t1 
where t1.id not in (select t2.id from tableB t2) 
Questions connexes