Bonjour,
J'aimerais copier des lignes d'une table A à une table B.
Mais uniquement si la donnée n'existe pas déjà dans B.
Merci pour votre aide
Bonjour,
J'aimerais copier des lignes d'une table A à une table B.
Mais uniquement si la donnée n'existe pas déjà dans B.
Merci pour votre aide
salut ca doit etre quelque chose comme
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO [table B]([Champ1],[Champ2],[Champ3]) SELECT [champ1],[champ2],[champ3] FROM [table A] where [table A].[champ1] not exist in(select [table B].[champ1] from [table B]
A verifier mais je ne dois pas etre loin
C'est NOT IN ou NOT EXISTS mais pas NOT EXISTS IN.
En supposant que Col1 soit la clef primaire :
NOT EXISTS
NOT IN
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 INSERT INTO TABLE_B (Col1, Col2, Col3) SELECT Col1, Col2, Col3 FROM TABLE_A WHERE NOT EXISTS (SELECT NULL FROM TABLE_B WHERE TABLE_B.Col1 = TABLE_A.Col1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 INSERT INTO TABLE_B (Col1, Col2, Col3) SELECT Col1, Col2, Col3 FROM TABLE_A WHERE TABLE_A.Col1 NOT IN (SELECT TABLE_B.Col1 FROM TABLE_B)
Je ne sais pas si ça peut aider, mais je crois avoir remarqué que le NOT EXISTS était plus performant que le NOT IN...
C'est super, tout fonctionne parfaitement.
Merci beaucoup pour m'avoir fait gagner du temps..![]()
Merci de ne pas oublier le bouton résolu à l'avenir.
Partager