create table tempTable
(
position varchar(30),
area varchar(100) --工薪范围
)goinsert into tempTable values('员工','1000以下')
insert into tempTable values('组长','1000-3000')
insert into tempTable values('秘书','3000-5000')
insert into tempTable values('组长','1000-3000')
insert into tempTable values('厂长','10000以上')select * from tempTabledrop table tempTable
问题 :
工薪范围按升序排序,并用1,2,3,4...表示等级且如相同则用一个数表示如position area grade
-----------------------------------
员工 1000以下 1
组长 1000-3000 2
组长 1000-3000 2
秘书 3000-5000 3
厂长 10000以上 4
(
position varchar(30),
area varchar(100) --工薪范围
)goinsert into tempTable values('员工','1000以下')
insert into tempTable values('组长','1000-3000')
insert into tempTable values('秘书','3000-5000')
insert into tempTable values('组长','1000-3000')
insert into tempTable values('厂长','10000以上')select * from tempTabledrop table tempTable
问题 :
工薪范围按升序排序,并用1,2,3,4...表示等级且如相同则用一个数表示如position area grade
-----------------------------------
员工 1000以下 1
组长 1000-3000 2
组长 1000-3000 2
秘书 3000-5000 3
厂长 10000以上 4
create table personSalary
(
_type varchar(20),
salarylowline smallint,
salaryheightline smallint,
level as (salarylowline+salaryheightline)/2/1000,
constraint ck_type check(_type in('员工','组长','秘书','厂长'))
)insert into dbo.personSalary
values
('员工',0,1000),
('组长',1000,3000),
('秘书',3000,5000),
('厂长',10000,15000)select * from dbo.personSalary
order by [level] asc
至于上面的结果是经处理简化而来的
也可以简化处理create table tempTable
(
area varchar(100) --工薪范围
) go insert into tempTable values('1000以下')
insert into tempTable values(,'1000-3000')
insert into tempTable values(,'3000-5000')
insert into tempTable values(,'1000-3000')
insert into tempTable values(,'10000以上') select * from tempTable drop table tempTable
问题 :
工薪范围按升序排序,并用1,2,3,4...表示等级且如相同则用一个数表示 如 area grade
-----------------------------------
1000以下 1
1000-3000 2
1000-3000 2
3000-5000 3
10000以上 4