У меня есть следующие структуры базы данных:Как показать результаты этого запроса на основе названия викторины?
Employee Table: Username, Name.....
Divisions Table: SapCode, DivisionShortcut, DivisionName
Quiz Table: QuizID, Title, IsSent, Description
UserQuiz Table: UserQuizID, QuizID, DateTimeComplete, Score, Username
(IsSent является флагом, который относится к тесту, который был послан ко всем сотрудникам)
Я следующий запрос, который retreives название опроса, которое было отправлено, и общее количество участников в каждом подразделении. Запрос работает хорошо, но в нем есть небольшая ошибка. Полученные результаты будут отображаться начиная с последней отправленной викторины. Название викторины похоже на Quiz 12, Quiz 11 и Quiz 10. Теперь запрос показывает мне, что (Quiz 9) является последней викториной. Однако последний опрос был отправлен (Quiz 12).
Итак, как изменить этот запрос, чтобы получить правильные результаты?
Запрос:
SELECT TOP (100) PERCENT COUNT(DISTINCT dbo.UserQuiz.Username) AS [Total Number of Participants], dbo.Divisions.DivisionShortcut, dbo.Quiz.Title
FROM dbo.employee INNER JOIN
dbo.UserQuiz ON dbo.employee.Username = dbo.UserQuiz.Username INNER JOIN
dbo.Quiz ON dbo.UserQuiz.QuizID = dbo.Quiz.QuizID INNER JOIN
dbo.Divisions ON dbo.employee.DivisionCode = dbo.Divisions.SapCode
WHERE (dbo.Quiz.IsSent = 1)
GROUP BY dbo.Divisions.DivisionShortcut, dbo.Quiz.Title
ORDER BY dbo.Quiz.Title DESC
Порядок заказа QuizID ... – user1166147