2016-12-06 33 views
0

我有BatchNbr,serialNbr等等等等表.........更新未選中的記錄表,並給他們一個新的ID

BatchNbr| serialNbr 
----- - | ------ 
P-27 | 501600 
p-27  501601 
"   501602 
""  501603  
"" 
""   "" 

現在我要選擇前N個記錄從表中保留相同的batchNbr和未選定記錄batchnbr應更新爲「P-27-1'.I能夠通過使用

select top(@top) BatchNbr,SerialNbr from Table. 

選擇前N個記錄,但我沒有得到如何更新BatcNbr剩餘記錄

任何幫助,高度讚賞

+1

你的rdbms是什麼?請閱讀[** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t這裏是[** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/),瞭解如何提高您的問題質量並獲得更好的答案。 –

+0

你需要更新你的表並設置BatchNbr = p-27?在所有行中? – Sami

+0

如果表中有20條記錄,並且用戶選擇top10記錄,那麼我需要將11-20的batchnbr更新爲'p-27-1'。 –

回答

0

假設序列號是唯一的..你可以做這樣的事情。

UPDATE table 
SET BatchNbr = 'P-27-1' 
WHERE SerialNbr NOT IN (
    SELECT TOP 10 SerialNbr FROM Customer 
) 

根據您的RDBMS,您可能需要修改查詢。但是這在MSSQL中起作用。

+0

序列號不唯一.. –

+0

那麼什麼是RDBMS? –

相關問題