我有一个包含许多item_number记录的表,这些记录在我的表中是重复的,并且表中的每个item_number的其他列都是空白的。
表中的所有记录都在g024的产品组下。但是,当我运行我的查询时,它将使用此更新我的所有项目编号。
我想要它做的是每个item_number只填充一次资源代码,操作和操作描述,而不用查询中的条件填充每个item_number的remianing空白字段。
稍后我将使用不同的更新查询填充这些其他黑色字段。
UPDATE resource1 SET [resource code] ='TOOLASSY', OPERATION = '10', OPERATION_DESCRIPTION = 'MOULD TOOL ASSEMBLY'
WHERE [product group]="G024"
我确实尝试过这样的方法,使查询只更新每个item_number一次。我查看了TOP关键字,但不确定它是否在正确的行上。
我需要在子查询中使用类似DISTINCT关键字的更新查询。
UPDATE resource1 SET [resource code] ='TOOLASSY', OPERATION = '10', OPERATION_DESCRIPTION = 'MOULD TOOL ASSEMBLY'
WHERE [product group]="G024" AND ITEM_NUMBER IN(SELECT TOP 1 ITEM_NUMBER FROM RESOURCE1)
答案 0 :(得分:0)
更新:
UPDATE resource1 SET [resource code] ='TOOLASSY', OPERATION = '10', OPERATION_DESCRIPTION = 'MOULD TOOL ASSEMBLY'
WHERE [product group]="G024" AND [num] IN (SELECT MinNum FROM (SELECT resource1.[product group], resource1.[item_number], MIN(resource1.[num]) AS MinNum FROM resource1 GROUP BY resource1.[product group], resource1.[item_number])
Q1 WHERE Q1.[product group]=resource1.[product group] AND Q1.[item_number]= resource1.[item_number]);
在MS Access 2010中测试。