最近做得比较多商务网站,以前写过的会员累计积分自动script放上来。

Code
create table #grade
(
grade_id int primary key, --级别
grade_credits int not null --升级分数
)
insert #grade
select 1,1000
union
select 2,3000
union
select 3,9000
create table #member
(
member_id varchar(10) primary key, --会员编号
member_name nvarchar(10), --会员名称
grade_id int, --会员级别
member_funs int --会员积分
)
insert #member
select '10001','张一',0,999 --0级不变
union
select '10002','张二',0,1001 --升至1级
union
select '10003','张三',1,3001 --升至2级
union
select '10005','张五',2,9002 --升至3级
union
select '10006','张六',3,9003 --顶级不变
SELECT a.member_id,max(b.grade_id)
from #member a
join #grade b
on a.member_funs >=b.grade_credits
group by a.member_id,a.grade_id
having (max(b.grade_id)) > a.grade_id
drop table #grade
drop table #member