sql - 更新内部表

时间:2014-04-10 18:13:54

标签: sql sql-server-2008

我需要更新内部表中的一些数据。这是国家领域。我的结果集是100行。

我想用TX更新前5个 接下来的五个与DE 接下来的五个与CA

然后重新开始TX并继续,直到我完成所有100行。

由于

1 个答案:

答案 0 :(得分:1)

如果您没有使用ROW_NUMBER来生成序列号,那么您需要一个序列号。

UPDATE a
SET state = b.state
FROM data AS a
INNER JOIN (VALUES (0, 'TX'), (1, 'DE'), (2, 'CA')) AS b(id, state)
ON b.id = ((a.rownumber - 1) / 5) % 3