delete de colonnes à partir d'une table de sauvegarde
Bonjour
J'ai un peu de mal avec une requête delete qui ne devrait pourtant pas poser de problème et je viens solliciter votre aide.
J'ai une table A avec 5 colonnes. Les colonnes 1 à 4 représentent la clé et la 5 une adresse email.
J'ai une copie B de cette table avec la même structure.
La table B est vidée puis mise à jour avec les lignes de A (sauvegarde).
Puis A est mise à jour avec des données nouvelles.
Ce que je cherche à faire, c'est supprimer dans B les lignes qui ne correspondent pas aux lignes de A.
En gros, les lignes qui ont été sauvegardées mais qui n'apparaissent plus dans la mise à jour.
J'ai essayé
Code:
1 2 3 4 5 6 7 8 9
|
DELETE FROM B
WHERE NOT EXISTS (SELECT *
FROM A
INNER JOIN B
ON A.C1 = B.C1 AND
A.C2 = B.C2 AND
A.C3 = B.C3 AND
A.C4 = B.C4); |
Mais ça ne donne rien.
Vous feriez ça comment ?
Ensuite, je veux mettre à jour les données de A à partir de B toujours en concordance avec les clés.
Mais une chose à la fois ;)
Papy !