在更新查询中不同

时间:2019-02-06 03:39:02

标签: sql-server tsql sql-update

我想为表中的用户更新不同的emp编号。 该表中有单个用户的许多记录,因此需要为单个用户更新相同的emp num,然后相应地增加。

这些用户在多个表中都可用,并且所有人都应该共享相同的ID。

Ex:表1

ID           Name
875667       Test1
875667       Test1
875667       Test1
792380       Test2
792380       Test2

需要更新ID(如111111),然后相应地增加,并在其他表中共享相同的ID

Ex:表2

ID           Name 
875667       Test1
875667       Test1

在更新ID-111111之后,它应该具有与table1相同的ID

请指教!

1 个答案:

答案 0 :(得分:2)

您似乎正在使用SQL Server。如果是这样,您可以使用可更新的CTE:

with toupdate as (
      select t1.*,
             dense_rank() over (order by id) as seqnum
      from [Database].[dbo].[table1] t1
     )
update toupdate
    set id = convert(nvarchar(255), 11111110 + seqnum);