Consolidating values in a junction table
Posted
by senloe
on Stack Overflow
See other posts from Stack Overflow
or by senloe
Published on 2010-04-20T20:24:09Z
Indexed on
2010/04/21
18:03 UTC
Read the original article
Hit count: 231
I have the following schema:
Parcels Segments SegmentsParcels
========= ========== =================
ParcelID SegmentID ParcelID
... Name SegmentID
... id
A user of the data wants to consolidate Segments.Names and gave me a list of current Segment.Names mapped to new Segment.Names (all of which currently exist).
So now I have this list in a temporary table with the currentID and newID to map to.
What I want to do is update the SegmentID in SegmentsParcels based on this map. I could use the statement:
update SegmentParcels set segmentID = [newID] from newsegments where segmentID = currentid
but this will create some duplicates I have a unique constraint on ParcelID and SegmentID in SegmentParcels.
What is the best way to go about this? I considered removing the constraint and then dealing with removing the duplicates (which I did at one point and could probably do again) but I was hoping there was a simpler way.
© Stack Overflow or respective owner