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é
Mais ça ne donne rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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 !
Partager