我要做的做表的一个列的UPDATE,如图


语句是这样的
UPDATE dbo.DP_ProductCoding SET Code = a.[新编码]
FROM [DP6_Macro].[dbo].['替换--KA编码$'] a,dbo.DP_ProductCoding b
WHERE a.[旧产品编码]=b.Code
但问题是这个表是不能插入重复的Code值的,这该咋办啊?求大神相助
SQL
------解决方案--------------------
SELECT 'alter table DP_ProductCoding drop ' + name
FROM sys.objects
WHERE parent_object_id = OBJECT_ID('DP_ProductCoding')
AND type = 'UQ'
执行的结果,copy出来再执行一遍即可。
------解决方案--------------------
UPDATE b SET b.Code = a.[新编码]
FROM (SELECT [旧产品编码],MAX([新编码]) [新编码] from [DP6_Macro].[dbo].['替换--KA编码$'] GROUP BY [旧产品编码])a,dbo.DP_ProductCoding b
WHERE a.[旧产品编码]=b.Code