Отличить в запросе на обновление - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу обновить отдельный номер emp для пользователей в таблице.В таблице есть много записей для одного пользователя, поэтому необходимо обновить одно и то же число для одного пользователя и затем увеличить его соответствующим образом.

А также эти пользователи доступны в нескольких таблицах и все должны иметь один и тот же идентификатор.

Пример: Таблица 1

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

Необходимо обновить идентификатор, например 111111, а затем увеличить его соответствующим образом, а также использовать тот же идентификатор в других таблицах

Пример: Таблица 2

ID           Name 
875667       Test1
875667       Test1

После обновления идентификатора он должен иметь тот же идентификатор, что и таблица1 - 111111

Пожалуйста, совет!

1 Ответ

0 голосов
/ 06 февраля 2019

Похоже, вы используете 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...