2013-02-25 5 views
1

У меня есть таблица, как этотВычислить столбец в базе данных SQL Server

id buildingId order title 
-------------------------- 
    1  2  null test1 
    2  2  null test2 
    3  2  null test3 
    4  3  null test4 
    5  3  null test5 
    6  5  null test6 

мне нужно рассчитать стоимость заказа для каждой строки. Мне нужно после выполнения sql-запроса получить эту таблицу

id buildingId order title 
    1  2  0  test1 
    2  2  1  test2 
    3  2  2  test3 
    4  3  0  test4 
    5  3  1  test5 
    6  5  0  test6 

Как это сделать?

+0

Где вы получаете значения для заказа от? Это еще одна таблица? – Raj

+0

Нет. Он вычисляет. – cosset

ответ

1
WITH recordList 
AS 
(
    SELECT ID, buildingID, [order], title, 
      ROW_NUMBER() OVER (PARTITION BY buildingID 
           ORDER BY ID) rn 
    FROM tableName 
) 
UPDATE recordList 
SET [order] = rn - 1 
+0

Спасибо.Это то, что я хотел – cosset

+0

приветствую ': D' –

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