0

How do I convert the following Access crosstab query to SQL Server 2012? From what I understand TRANSFORM and PIVOT can't be used in Sql Server but I am not sure on how to break down this code below:

TRANSFORM 
Count(Stats.SessionNumber) AS CountOfSessionNumber
SELECT 
Semesters.Semester, TermOptions.StudentDesc, 
Count(Stats.SessionNumber) AS TotalSessions
FROM Semesters, 
(StudentList_tbl 
INNER JOIN 
((StudentSemestersAndTerms 
INNER JOIN 
Stats ON (StudentSemestersAndTerms.StudentID = Stats.StudentID) 
AND (StudentSemestersAndTerms.Semester = Stats.Semester)) 
INNER JOIN 
TermOptions ON StudentSemestersAndTerms.Q3 = TermOptions.TermID) 
ON StudentList_tbl.StudentID = StudentSemestersAndTerms.StudentID) 
INNER JOIN 
TrainersList ON StudentList_tbl.RTP = TrainersList.RTPID
WHERE 
(((Stats.Semester)<[Semesters].[Semester]))
GROUP BY 
Semesters.Semester, TermOptions.StudentDesc
PIVOT 
TrainersList.ShortName;

sample data:

-------------------------------------------------------------------------
| Semester | StudentDesc | TotalSessions | FTL  |  GTY  |  MAU  |  CYU  |
-------------------------------------------------------------------------
|        3 | Term 1      |          1420 |  250 |  100  |  50   |  1020 |
-------------------------------------------------------------------------
|        3 | Term 2      |           700 |  200 |   25  |  75   |  300  |
-------------------------------------------------------------------------
|        3 | Term 3      |          1400 |      |   50  | 50    |  1300 |
-------------------------------------------------------------------------

The tables are:
Semesters  
StudentList_tbl
StudentSemestersAndTerms 
Stats
TermOptions
TrainersList

Row Heading
Semesters.Semester
TermOptions.StudentDesc
TrainersList.Shortname

Count
Stats.SessionNumber as TotalSessions
Gord Thompson
  • 116,920
  • 32
  • 215
  • 418
maggs
  • 125
  • 1
  • 13

0 Answers0