Mise à jour de l'un des 2 doublons dans une table de base de données sql server
J'ai une table qui a une colonne avec des valeurs en double. Je voudrais mettre à jour l'une des 2 valeurs en double, donc par exemple row1 = tom
et row2 = tom
.. je veux ajouter un 1 ou d'un d'un d'un d'entre eux et qui seront pour beaucoup d'autres doublons dans la même colonne. Fondamentalement, il suffit d'ajouter un numéro ou une lettre à tous les 1 des doublons, donc il n'y a plus de doublons.
J'ai eu cette requête qui sera mise à jour tous les doublons, mais pas un seul d'entre eux. Quelqu'un peut-il aider?
UPDATE Table1
SET Column1 = 'a'
WHERE exists
(SELECT Column1 , COUNT(Column1 )
FROM Clients
GROUP BY Column1
HAVING ( COUNT(Column1 ) > 1)
)
Si ses un double du dossier pourquoi avez-vous besoin de le garder? est-il une raison spécifique pour le faire?
Quel est votre schéma? Une clé primaire pour travailler avec?
J'en ai besoin parce que c'est précieux renseignements que je ne veux pas supprimer l'un d'eux. Juste envie de les distinguer de données à des fins d'analyse. Oui je suis un ID qui est une clé primaire.
Quel est votre schéma? Une clé primaire pour travailler avec?
J'en ai besoin parce que c'est précieux renseignements que je ne veux pas supprimer l'un d'eux. Juste envie de les distinguer de données à des fins d'analyse. Oui je suis un ID qui est une clé primaire.
OriginalL'auteur MohammedT | 2013-07-22
Vous devez vous connecter pour publier un commentaire.
Essayez-le avec les
CTE
etPARTITION BY
Excellente solution, je vous remercie!
OriginalL'auteur
Je pense que cette mise à jour simple est ce que vous cherchez;
D'entrée:
De sortie:
Un SQLfiddle pour le test.
OriginalL'auteur
Assumer
Table1
, contenant les informations suivantes:Avis que la première et la quatrième lignes sont identiques. Voici la
UPDATE
de commande pour modifier le nom dans un seul d'entre eux.Et le résultat serait
avec
RRN
fonction, vous pouvez mettre à jour la dernière occurrence de l'enregistrement en doubleC'est refuser d'accepter le t1 après la mise à jour.. Pourquoi est-ce?
Icorrect de syntaxe près de 'COMME' Attend à DÉFINIR... c'est l'erreur
OriginalL'auteur
Je pense que vous pouvez utiliser TOP() opérateur au lieu de la fonction row_number() la méthode qu'il vous aidera à mettre à jour dans un moyen facile et simple
C'est la meilleure réponse. Il utilise le bon outil à partir de l'application et ce n'est pas une solution de contournement. (Aussi, il fonctionne, il vient de résoudre le problème que j'ai eu.)
OriginalL'auteur
Essayer cette contrainte
OriginalL'auteur
J'ai dû mettre la avec à l'intérieur un depuis mon sql developer na pas la mise à jour avec un
La copie de la réponse de Nithesh
il a fini par ressembler à ceci:
OriginalL'auteur
essayer cette
OriginalL'auteur
OriginalL'auteur