代码是这样的:
--学历与岗位略分视图
CREATE VIEW vbXLGW
as
select
XL,--学历
case
when XY='校直属' and RYLB like '%行政%' then '行政职能人员'
when XY='校直属' and RYLB like '%教辅%' then '教辅人员'
when XY='校直属' and RYLB like '%工勤%' then '工勤人员'
when XY='二级学院' and RYLB like '%教师%' then '专任教师'
when GW like '%主任%' or GW like '%行政%' or GW like '%教务%' then '党政教学管理人员'
when GW like '%书记%' or GW like '%辅导%' or GW like '%培训%' then '学生管理人员'
when GW like '%管理%' or GW like '%实验%' then '实验室管理人员'
end as GWLF,--岗位略分 sum(RS) as RS--人数
from
(
select
case
when XLXW like '%博士%' then '博士'
when XLXW like '%硕士%' then '硕士'
when XLXW like '%研究生%' or XLXW like '%本科%' or XLXW like '%大学%' then '本科'
when XLXW like '%大专%' then '专科'
else '专科以下'
end as XL,--学历
case
when BM like '%学院' or BM like '%部' then '二级学院'
else '校直属'
end as XY,--学校学院分类
RYLB,--人员类别
GW,--岗位
count(*) as RS--人数
from tbPersons
join tbBM on (tbBM.AID=BMID)
join tbRYLB on (tbRYLB.AID=RYLBID)
group by XL,XY,RYLB,GW
)aa
group by XL,GWLF;
分析的时候没错,但执行的时候出现这种错误:
消息 207,级别 16,状态 1,过程 vbXLGW,第 39 行
列名 'XL' 无效。
消息 207,级别 16,状态 1,过程 vbXLGW,第 39 行
列名 'XY' 无效。
消息 207,级别 16,状态 1,过程 vbXLGW,第 41 行
列名 'GWLF' 无效。
请大家帮我分析分析怎么解决,搞了一天了就是不能完全正确。
--学历与岗位略分视图
CREATE VIEW vbXLGW
as
select
XL,--学历
case
when XY='校直属' and RYLB like '%行政%' then '行政职能人员'
when XY='校直属' and RYLB like '%教辅%' then '教辅人员'
when XY='校直属' and RYLB like '%工勤%' then '工勤人员'
when XY='二级学院' and RYLB like '%教师%' then '专任教师'
when GW like '%主任%' or GW like '%行政%' or GW like '%教务%' then '党政教学管理人员'
when GW like '%书记%' or GW like '%辅导%' or GW like '%培训%' then '学生管理人员'
when GW like '%管理%' or GW like '%实验%' then '实验室管理人员'
end as GWLF,--岗位略分 sum(RS) as RS--人数
from
(
select
case
when XLXW like '%博士%' then '博士'
when XLXW like '%硕士%' then '硕士'
when XLXW like '%研究生%' or XLXW like '%本科%' or XLXW like '%大学%' then '本科'
when XLXW like '%大专%' then '专科'
else '专科以下'
end as XL,--学历
case
when BM like '%学院' or BM like '%部' then '二级学院'
else '校直属'
end as XY,--学校学院分类
RYLB,--人员类别
GW,--岗位
count(*) as RS--人数
from tbPersons
join tbBM on (tbBM.AID=BMID)
join tbRYLB on (tbRYLB.AID=RYLBID)
group by XL,XY,RYLB,GW
)aa
group by XL,GWLF;
分析的时候没错,但执行的时候出现这种错误:
消息 207,级别 16,状态 1,过程 vbXLGW,第 39 行
列名 'XL' 无效。
消息 207,级别 16,状态 1,过程 vbXLGW,第 39 行
列名 'XY' 无效。
消息 207,级别 16,状态 1,过程 vbXLGW,第 41 行
列名 'GWLF' 无效。
请大家帮我分析分析怎么解决,搞了一天了就是不能完全正确。
CREATE VIEW vbXLGW
as
select XL,GWLF,sum(RS) as RS--人数
from (
select
XL,--学历
case
when XY='校直属' and RYLB like '%行政%' then '行政职能人员'
when XY='校直属' and RYLB like '%教辅%' then '教辅人员'
when XY='校直属' and RYLB like '%工勤%' then '工勤人员'
when XY='二级学院' and RYLB like '%教师%' then '专任教师'
when GW like '%主任%' or GW like '%行政%' or GW like '%教务%' then '党政教学管理人员'
when GW like '%书记%' or GW like '%辅导%' or GW like '%培训%' then '学生管理人员'
when GW like '%管理%' or GW like '%实验%' then '实验室管理人员'
end as GWLF,--岗位略分
RS
from (
select *,count(*) as RS--人数
from
(
select
case
when XLXW like '%博士%' then '博士'
when XLXW like '%硕士%' then '硕士'
when XLXW like '%研究生%' or XLXW like '%本科%' or XLXW like '%大学%' then '本科'
when XLXW like '%大专%' then '专科'
else '专科以下'
end as XL,--学历
case
when BM like '%学院' or BM like '%部' then '二级学院'
else '校直属'
end as XY,--学校学院分类
RYLB,--人员类别
GW,--岗位
from tbPersons
join tbBM on (tbBM.AID=BMID)
join tbRYLB on (tbRYLB.AID=RYLBID)) k
group by XL,XY,RYLB,GW
)aa ) z
group by XL,GWLF;