如何在SQL Server中按订单号填写“[Order]”列?

时间:2012-10-16 09:37:44

标签: sql sql-server sql-server-2000 sql-order-by

如何按SQL Server 2000中的订单号填写[Order]列?

例如,我有一个SQL:

select Id, Tilte 
from Tbl 
order by Date

我需要将此查询中的订单号写入[Order]表的Tbl列。

怎么做?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

您可以使用ROW_NUMBER

WITH CTE AS
(
   SELECT Id, Title, [Order] 
   , OrderNumber = ROW_NUMBER() OVER (ORDER BY Date)
   FROM Tbl 
)
UPDATE CTE SET [Order] = CTE.OrderNumber;

这是一个小提琴:http://sqlfiddle.com/#!3/8831d/2/0