我正在编写代码,我可以创建一个包含41行的表并进行连接,或者我可以创建一个case语句
表格看起来像这样:
minValue,MaxValue,Category,Tier;
876,999,a,5;
826,875,a,6;
801,825,b,7;
776,800,c,8;
我会做一个看起来像这样的联接
Update results
set answer = tier
from results a
left outer join lookuptable b on a.value>= b.minValue and a.value <=b.MaxValue
and a.Catagory = b.catagory
如果我做了一个案例陈述,它将会是这样的
Update results
set answer = case cat when a then
case when value>=876 and value<=999 then 5
case when value>=826 and value<=875 then 6
case when value>=801 and value<=825 then 7
... end
when b then
case when value>=876 and value<=999 then 7
case when value>=826 and value<=875 then 8
case when value>=801 and value<=825 then 12
... end... end
所以我最终会得到一个非常大的嵌套case语句。结果表最多可包含500,000行。什么是最有效的?