我在构造有效的查询以生成数据透视表时遇到了麻烦。我的查询当前是:
SELECT fullname,
[absent] AS 'Absent',
[not registered] AS 'Not Registered',
[present] AS 'Present'
FROM (SELECT
vwregistrationschoolregistrationattendance.intregistrationdatetimeid,
vwregistrationschoolregistrationattendance.dtregistrationdatetime,
vwregistrationschoolregistrationattendance.txtregistrationname,
vwregistrationschoolregistrationattendance.txtschoolid,
vwregistrationschoolregistrationattendance.txtregistrationgrouptype,
vwregistrationschoolregistrationattendance.txtregistrationgroupname,
vwregistrationschoolregistrationattendance.txtregistrationstatus,
tblpupilmanagementpupils.intncyear,
tblstaff.fullname AS fullname
FROM vwregistrationschoolregistrationattendance
INNER JOIN tblpupilmanagementpupils
ON vwregistrationschoolregistrationattendance.txtschoolid =
tblpupilmanagementpupils.txtschoolid
INNER JOIN tblstaff
ON
vwregistrationschoolregistrationattendance.txtregistrationteachercode
=
tblstaff.user_code
WHERE ( vwregistrationschoolregistrationattendance.dtregistrationdatetime >
CONVERT(
DATETIME, '2019-01-08 00:00:00', 102) )
AND (
vwregistrationschoolregistrationattendance.txtregistrationgrouptype =
'Set' )
AND ( tblpupilmanagementpupils.intncyear BETWEEN 7 AND 9 )) p
PIVOT (Count(txtregistrationstatus)
FOR fullname IN ([Absent],
[Not Registered],
[Present])) AS pvt
我希望它产生这样一个表:
我似乎无法正确理解语法。当前查询是说我的列名“全名”无效。 VwRegistrationSchoolRegistrationAttendance.txtRegistrationStatus
包含“缺席”,“未注册”和“存在”的值。我无法使用临时表,因为我的数据库不允许这样做。
我已经阅读了这里的大量文章以及有关在枢轴中使用字符串值的文章,但我似乎无法正确理解。
ADDITIONAL:我已经在第一个SELECT中运行了查询,取出了全名,但是这会产生一个表,每行的表都为零,所以我不确定枢轴是否正确?