MS ACCESS SQL将多个行合并为一个,维护列

时间:2018-03-08 01:31:50

标签: sql ms-access

我正在尝试总结每位教师为课程讲授的课程总数。每个班级最多可列出4名教师。

我是解决方案的一部分,但我被挂断了。我已经完成了每个教练#(INS)教授的课程的计数,在每个职位(教练1-4),但我不能为每个教师一行归还。我在MS ACCESS中这样做,但如果有人可以给我一个SQL解决方案,而不是VBA那将是伟大的。

我的代码:

SELECT Instructor1 AS INS
, SUM (IIF(Instructor1 > 0,1,0)) AS [Instructor 1]
,"" AS [INSTRUCTOR 2],"" AS [INSTRUCTOR 3],"" AS [INSTRUCTOR 4]
FROM (Select DISTINCT CourseDate, [Course Completion].[ClassNumber], 
Instructor1,  Instructor2,  Instructor3,  Instructor4 FROM [Course 
Completion] )  AS CLASSES 
WHERE YEAR(CourseDate) = [ENTER YEAR]
Group by Instructor1
UNION.....

我和工会一起做了4次,从每个教练职位上拉出教练。

我有什么:

INS    Instructor 1   INSTRUCTOR 2    INSTRUCTOR 3  INSTRUCTOR 4
23885                      1        
23885       1           
27117                      3        
27117       4           
27475       1   
27721                      12       
27721       10          
27748                                      2    
27748                       4       
27748        8          
27832                                       2   
27832                       3       
27832        3          

我想要的是:

INS Instructor 1    INSTRUCTOR 2    INSTRUCTOR 3    INSTRUCTOR 4
23885   1                 1     
27117   4                 3     
27475   1
27721   10                12        
27748   8                 4             2   
27832   3                 3             2   

0 个答案:

没有答案