У меня проблемы с созданием правильного запроса для создания сводной таблицы.Мой запрос в настоящее время:
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
содержит значения отсутствующих, незарегистрированных и настоящих.Я не могу использовать временную таблицу, так как моя база данных не позволяет этого.
Я прочитал множество постов здесь и статей об использовании строковых значений в сводках, но я просто не могу понять, что это правильно.
ДОПОЛНИТЕЛЬНО: я выполнил запрос, извлекающий полное имя в первом SELECT, но при этом создается таблица с нулями в каждой строке, поэтому я не уверен, что сводка действительно верна?