一个笨方法
先编个小程序把每个人的各科等第(=等级?)分类进行统计:*个A,*个B,*个C,*个D,*个Y,*个N,*个-,将结果输入到新数据库中。然后根据你的需要在新库中查询结果。
SELECT 身份证号,姓名, [政治] 课程,政治等第 等级,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [语文],语文等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [数学],数学等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [物理],物理等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [化学],化学等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [外语],外语等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [历史],历史等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [地理],地理等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [生物],生物等第,1 BZ FROM 例表 ; UNION ALL SELECT 身份证号,姓名, [信息],信息等第,1 BZ FROM 例表 INTO CURSOR T1 SELECT 身份证号,姓名,SUM(IIF(等级=[A],BZ,0)) A,SUM(IIF(等级=[B],BZ,0)) B ; ,SUM(IIF(等级=[C],BZ,0)) C,SUM(IIF(等级=[D],BZ,0)) D,SUM(IIF(等级=[-],BZ,0)) 缺考 ; FROM T1 GROUP BY 1,2 ORDER BY 3 DESC,4 DESC,5 DESC,6 DESC,7 DESC效果图