问题是更新Class
列。下表是该结构的简短片段。 Class
列当前为空,需要根据成员资格列中的值进行更新。例如,12的成员资格将是第3类。
Membership Class
0 to 4 1
5 to 9 2
10 to 19 3
以下代码是否足够:
Update dbo.tablename
set class = 1
where 'membership' between 0 and 4
答案 0 :(得分:2)
您需要在列名称周围取出引号:
--no-treekill
然后针对不同的会员范围运行相同的内容。
答案 1 :(得分:1)
如果您使用的是SQL Server(或其他几个数据库之一),则不应该使用alter dbo.tablename add class as
(case when membership between 0 and 4 then 1
when membership between 5 and 9 then 2
when membership between 10 and 19 then 3
end);
列。而是使用计算列:
{{1}}
当您引用该列时会计算该值,因此它始终是最新的。