select 企业代码,企业名称,
本科=count(select职工代码 from 职工 where 学历代码=(select 学历代码 from 学历) and (select学历名 from 学历)='本科'),
专科=count(select职工代码 from 职工 where 学历代码=(select 学历代码 from 学历) and (select学历名 from 学历)='专科'),
中专=count(select职工代码 from 职工 where 学历代码=(select 学历代码 from 学历) and (select学历名 from 学历)='中专')
from 企业 order by 企业代码初学者,错了别笑我:(
本科=count(select职工代码 from 职工 where 学历代码=(select 学历代码 from 学历) and (select学历名 from 学历)='本科'),
专科=count(select职工代码 from 职工 where 学历代码=(select 学历代码 from 学历) and (select学历名 from 学历)='专科'),
中专=count(select职工代码 from 职工 where 学历代码=(select 学历代码 from 学历) and (select学历名 from 学历)='中专')
from 企业 order by 企业代码初学者,错了别笑我:(
http://expert.csdn.net/Expert/topic/2440/2440306.xml?temp=.6389124
select @e=@e+',sum (case when 学历名='+ 学历名+' then 1 else 0 end ) as ' +学历名 from 学历
group by 学历名
if len(@e)>0
begin
select @e='select a.企业代码,b.企业名称 '+@e+
'from 职工 a,企业 b,学历 c
where a.企业代码=b.企业代码 and a.学历代码=c.学历代码
group by a.企业代码,b.企业名称 '
exec (@e)
end
else
raiserror('无科目',16,1)
专科 = COUNT(CASE a.学历_ID WHEN 'X2' THEN X2 ELSE NULL END),
硕士 = COUNT(CASE a.学历_ID WHEN 'X3' THEN X3 ELSE NULL END)
FROM 职工 a LEFT OUTER JOIN
企业 b ON a.企业_ID = b.企业_ID LEFT OUTER JOIN
学历 c ON a.学历_ID = c.学历_ID
GROUP BY a.企业_ID, b.企业名称