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