Как отобразить заголовок теста с количеством пользователей в каждом тесте в диаграмме ASP.NET?
Я создаю тест в своем веб-приложении. База данных состоит из следующих таблиц:
- Таблица викторины: QuizID, Название, Описание
- Таблица UserQuiz: UserQuizID, QuizID, DateTimeComplete, счет, имя пользователя
Теперь я хочу разработать диаграмму, показывающую название викторины с количеством пользователей, принявших каждый из этих тестов, но я не знаю как. Я пытаюсь получить хороший запрос для этого, но я не знаю как.
Я использую SqlDataSource для доступа к данным в базе данных.
Пожалуйста, помогите мне.
2 ответа
Решение
В SQL это было бы что-то вроде
SELECT Q.QuizID, Q.Title, count(uq.*) as Users
FROM UserQuiz UQ
JOIN Quiz Q ON Q.QuizID = UQ.QuizID
GROUP BY Q.QuizID, Q.Title
или без псевдонимов таблицы Q
а также UQ
это было бы
SELECT Quiz.QuizID, Title, count(*) as Users
FROM UserQuiz
JOIN Quiz ON Quiz.QuizID = UserQuiz.QuizID
GROUP BY Quiz.QuizID, Title
используя полные имена таблиц, чтобы различать два столбца с именем QuizID.
Как насчет того, чтобы попробовать что-то подобное
SELECT Title, count(UserQuizID) as usercount
FROM quiz a
JOIN userquiz b on a.quizid = b.quizid
GROUP BY Title
Название будет вашим XValueMember
и количество пользователей YValueMember
для серии.