[人员信息表]
人员Id 姓名 岗位 性别 部门 年龄 管理级别 学历 政治面貌 出生日期 籍贯 民族 ...
001 张三 经理 男 A 40 干部 本科 党员 1970 天津 苗族
002 李四 客服 女 B 23 员工 硕士 预备党员 1989 上海 汉族
003 王五 店长 男 C 27 干部 大专 共青团员 1983 重庆 藏族
004 王一 保安 女 E 32 工人 中专 群众 1981 山西 傣族
004 小李 司机 男 F 25 工人 高中 团员 1987 北京 汉族
005 小张 司机 男 F 38 工人 初中 群众 1975 山东 汉族
... ... ... ... ... ... ... ... ... ... ... ...假定以上数据为一张SQL2000的 '人员信息表'的部分字段,现在我想要用sql的查询语言来实现交叉表表的汇总信息,让它显示为下面格式的一张汇总交叉报表:请问这个SQL的具体查询语言该怎样来写才能实现呢?如那位高手/大侠能帮小弟做出来,定当感激不尽啊!!!
哦:如能做出的话,我的QQ:912478949 QQ邮箱为:912478949qq.com! 邮箱为:[email protected] 小弟再次谢过!!!!!!!!
工种/岗位 小学 初中 高中 大专 本科 硕士 党员 预备党员 共青团员 团员 群众
经理 ... ... ... ... ... ... ... ... ... ... ...
客服 ... ... ... ... ... ... ... ... ... ... ...
店长 ... ... ... ... ... ... ... ... ... ... ...
保安 ... ... ... ... ... ... ... ... ... ... ...
司机 ... ... ... ... ... ... ... ... ... ... ...
说明:这就是根据以上的[人员信息表]的,用SQL查询出来的结果汇总表,其中“...”表示具体查询出来的汇总数据。
比如:司机这个岗位查询出来的有多少个司机是小学学历,有多少个司机是初中学历、有多少个司机是高中学历、有多少个司机是大专学历、、、、、有多少个司机的政治面貌为党员、、、有多少个司机的政治面貌为群众、、、、、、、、!
人员Id 姓名 岗位 性别 部门 年龄 管理级别 学历 政治面貌 出生日期 籍贯 民族 ...
001 张三 经理 男 A 40 干部 本科 党员 1970 天津 苗族
002 李四 客服 女 B 23 员工 硕士 预备党员 1989 上海 汉族
003 王五 店长 男 C 27 干部 大专 共青团员 1983 重庆 藏族
004 王一 保安 女 E 32 工人 中专 群众 1981 山西 傣族
004 小李 司机 男 F 25 工人 高中 团员 1987 北京 汉族
005 小张 司机 男 F 38 工人 初中 群众 1975 山东 汉族
... ... ... ... ... ... ... ... ... ... ... ...假定以上数据为一张SQL2000的 '人员信息表'的部分字段,现在我想要用sql的查询语言来实现交叉表表的汇总信息,让它显示为下面格式的一张汇总交叉报表:请问这个SQL的具体查询语言该怎样来写才能实现呢?如那位高手/大侠能帮小弟做出来,定当感激不尽啊!!!
哦:如能做出的话,我的QQ:912478949 QQ邮箱为:912478949qq.com! 邮箱为:[email protected] 小弟再次谢过!!!!!!!!
工种/岗位 小学 初中 高中 大专 本科 硕士 党员 预备党员 共青团员 团员 群众
经理 ... ... ... ... ... ... ... ... ... ... ...
客服 ... ... ... ... ... ... ... ... ... ... ...
店长 ... ... ... ... ... ... ... ... ... ... ...
保安 ... ... ... ... ... ... ... ... ... ... ...
司机 ... ... ... ... ... ... ... ... ... ... ...
说明:这就是根据以上的[人员信息表]的,用SQL查询出来的结果汇总表,其中“...”表示具体查询出来的汇总数据。
比如:司机这个岗位查询出来的有多少个司机是小学学历,有多少个司机是初中学历、有多少个司机是高中学历、有多少个司机是大专学历、、、、、有多少个司机的政治面貌为党员、、、有多少个司机的政治面貌为群众、、、、、、、、!
SELECT 岗位
,CASE 学历 WHEN '小学' THEN 1 ELSE 0 END
,CASE 学历 WHEN '初中' THEN 1 ELSE 0 END
,CASE 学历 WHEN '高中' THEN 1 ELSE 0 END
,CASE 学历 WHEN '大专' THEN 1 ELSE 0 END
,CASE 学历 WHEN '本科' THEN 1 ELSE 0 END
,CASE 学历 WHEN '硕士' THEN 1 ELSE 0 END
,CASE 政治面貌 WHEN '党员' THEN 1 ELSE 0 END
,CASE 政治面貌 WHEN '预备党员' THEN 1 ELSE 0 END
,CASE 政治面貌 WHEN '共青团员' THEN 1 ELSE 0 END
,CASE 政治面貌 WHEN '团员' THEN 1 ELSE 0 END
,CASE 政治面貌 WHEN '群众' THEN 1 ELSE 0 END
FROM 表1 GROUP BY 岗位
,SUM(CASE 学历 WHEN '小学' THEN 1 ELSE 0 END)
,SUM(CASE 学历 WHEN '初中' THEN 1 ELSE 0 END)
,SUM(CASE 学历 WHEN '高中' THEN 1 ELSE 0 END)
,SUM(CASE 学历 WHEN '大专' THEN 1 ELSE 0 END)
,SUM(CASE 学历 WHEN '本科' THEN 1 ELSE 0 END)
,SUM(CASE 学历 WHEN '硕士' THEN 1 ELSE 0 END)
,SUM(CASE 政治面貌 WHEN '党员' THEN 1 ELSE 0 END)
,SUM(CASE 政治面貌 WHEN '预备党员' THEN 1 ELSE 0 END)
,SUM(CASE 政治面貌 WHEN '共青团员' THEN 1 ELSE 0 END)
,SUM(CASE 政治面貌 WHEN '团员' THEN 1 ELSE 0 END)
,SUM(CASE 政治面貌 WHEN '群众' THEN 1 ELSE 0 END)
FROM 表1 GROUP BY 岗位
,SUM(CASE 学历 WHEN '小学' THEN 1 ELSE 0 END) as '小学'
,SUM(CASE 学历 WHEN '初中' THEN 1 ELSE 0 END) as '初中'
,SUM(CASE 学历 WHEN '高中' THEN 1 ELSE 0 END) as '高中'
,SUM(CASE 学历 WHEN '大专' THEN 1 ELSE 0 END) as '大专'
,SUM(CASE 学历 WHEN '本科' THEN 1 ELSE 0 END) as '本科'
,SUM(CASE 学历 WHEN '硕士' THEN 1 ELSE 0 END) as '硕士'
,SUM(CASE 政治面貌 WHEN '党员' THEN 1 ELSE 0 END) as '党员'
,SUM(CASE 政治面貌 WHEN '预备党员' THEN 1 ELSE 0 END) as '预备党员'
,SUM(CASE 政治面貌 WHEN '共青团员' THEN 1 ELSE 0 END) as '共青团员'
,SUM(CASE 政治面貌 WHEN '团员' THEN 1 ELSE 0 END) as '团员'
,SUM(CASE 政治面貌 WHEN '群众' THEN 1 ELSE 0 END) as '群众'
FROM 表1 GROUP BY 岗位