2013-11-15 59 views
-1

我有一個表中有許多item_number記錄,這些記錄在我的表內是重複的,而且每個item_number的表中的其他列都是空白的。更新記錄,但限制爲每個重複記錄只有一行

表中的所有記錄均位於產品組g024之下。但是,當我運行我的查詢時,它會更新我的所有項目數字。

我想要它做的是每個item_number只填充資源代碼,操作和操作描述一次,而不是填充每個item_number remidoing空白字段與查詢中的條件。

我將在稍後使用不同的更新查詢填充這些其他黑色字段。

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

目前沒有主鍵。這是item_number,但我用這個來做其他任務。然而,這可以放回去。除了item_number之外,表中沒有其他唯一字段。 –

+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]);

測試在2010年MSACCESS

+0

請參閱http://stackoverflow.com/questions/19996862/inserting-extra-rows-within-table – Fionnuala

相關問題