je le schéma suivant:les valeurs et la consolidation des doublons dans une suppression table de jonction à l'aide CTE
Parcels Segments SegmentsParcels
========= ========== =================
ParcelID SegmentID ParcelID
... Name SegmentID
... id
Un utilisateur des données veut consolider Segments.Names et m'a donné une liste de Segment.Names en cours mis en correspondance new Segment.Names (tous existant actuellement). J'ai maintenant cette liste dans une table temporaire avec les identifiants currentID et newID pour mapper vers. Ce que je veux faire est de mettre à jour le SegmentID dans SegmentsParcels basé sur cette carte. Je pourrais utiliser la déclaration:
update SegmentParcels set segmentID = [newID] from newsegments where segmentID = currentid
mais cela va créer des doublons que j'ai une contrainte unique sur ParcelID et SegmentID dans SegmentParcels.
Quelle est la meilleure façon de procéder? J'ai envisagé de supprimer la contrainte puis de supprimer les doublons (ce que j'ai fait à un moment donné et que je pourrais probablement refaire) mais j'espérais qu'il y aurait un moyen plus simple.
Hmm. Il y a quelque chose qui ne va pas avec ça et je ne suis pas assez aiguisé pour le saisir. Je continue à obtenir des résultats zéro sur la sous-requête select puisque parcelid n'est jamais nul. – earthling