J'ai deux tables et je dois supprimer des lignes de la première table si une copie exacte d'une ligne existe dans la deuxième table.Comment puis-je comparer deux tables et supprimer les lignes dupliquées dans SQL?
Quelqu'un at-il un exemple de la façon dont je le faire de manière dans le serveur MSSQL?
Cela fonctionne bien aussi longtemps que aucune des colonnes contient des valeurs nulles. Dès que cela se produit, vous devez commencer à déconner avec des conditions complexes comme (a.Name = b.Name OU (a.Name IS NULL et IS NULL b.Name)) pour chaque colonne nullable. Une autre raison pour éviter les Nuls. –
@Marc Gravell, Si la table 'a' et la table' b' sont présentes dans 'view'. Alors comment puis-je supprimer les lignes en double et conserver l'original une fois? J'ai posté [http://stackoverflow.com/questions/32065340/sql-server-2008-r2-delete-duplicate-rows-from-tables-containing-in-view/32065972?noredirect=1#comment52032907_32065972] sur tel situation. – MAK
Utiliser INTERSECT et EXCEPT (voir autre réponse) pour ces types d'opérations évite le problème NULL http://sqlblog.com/blogs/paul_white/archive/2011/06/22/undocumented-query-plans-equality-comparisons.aspx – ryascl