изменить порядок таблицы - PullRequest
0 голосов
/ 11 марта 2020

У меня есть эта таблица с именем Employee:

IdEmploye    |     Order
    10                1 
    17                5 
    102               6 
    66                77

Я хочу переставить эту таблицу в эту:

IdEmploye    |     Order
    10                1 
    17                2 
    102               3 
    66                4

Как это возможно в SQL?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 11 марта 2020

SQL Сервер поддерживает использование ROW_NUMBER (), поэтому вы попадете туда.

UPDATE tbl
SET [Order] = sub.NewOrder
from tbl
JOIN
(select IdEmploye, ROW_NUMBER() OVER (ORDER BY IdEmploye) as NewOrder
 from tbl) as sub
 ON sub.IdEmploye = tbl.IdEmploye;
1 голос
/ 11 марта 2020

Вы можете использовать CTE :

with empupdt as (
     select e.*, row_number() over (order by IdEmployee) as seq
     from employee e
)
update empupdt 
     set Order = seq;
0 голосов
/ 11 марта 2020

Вы можете сделать прямое обновление

Update tbl
Set Order = IdEmploye     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...