2016-10-10 2 views
1

Недавно я обновил таблицу SQL, чтобы включить номер заказа в строки. Теперь я должен написать инструкцию SQL для обновления строк с правильными значениями порядка. Это должно выглядеть так:Обновить таблицу SQL для создания номера заказа

Id, UserName, Store, OrderNumber 
1, User1, store1, 1 
2, User2, store1, 2 
3, User3, store1, 3 
4, User4, store2, 1 
5, User5, store2, 2 

В настоящий момент столбец OrderNumber содержит только нулевые значения.

Как я должен действовать?

+0

вы хотите обновить ORDERNUMBER из какой таблицы? Пожалуйста, дайте больше ясности в своем вопросе. что должно быть условием вашего обновления. –

ответ

1

Вы можете сделать это с ROW_NUMBER

With CTE as 
(
select row_number() Over(partition by Store order by Id) as O_number,* 
From yourtable 
) 
Update CTE 
SET OrderNumber = O_number 
+1

Спасибо. Есть небольшая проблема, но я ее исправил. Это должно быть: выберите row_number() over (partition by Store order by Id) как O_number, * – Vax

+0

@ user6314 - да пропустил его. обновленный –

Смежные вопросы