更新表中未选择的记录并为其提供新的ID

时间:2016-12-06 13:46:20

标签: sql

我有一个BatchNbr表,serialNbr blah blah .........

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

现在我想从表中选择前N个记录并保留相同的batchNbr,对于未选择的记录,batchnbr应该更新为' P-27-1'。我能够通过以下方式选择前n个记录使用

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

但我没有得到如何更新BatcNbr剩余记录

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

假设序列号是唯一的......您可以这样做。

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

根据您的RDBMS,您可能需要修改查询。但这适用于MSSQL。