only used modules

This commit is contained in:
Luc 2026-08-27 09:17:51 +02:00
parent 9136ea2284
commit f027c5a829

View file

@ -62,13 +62,21 @@ namespace QuizTools
{
using IDbConnection db = new SqlConnection(connStr);
string query = @"
SELECT m.moduleId AS ModuleId, m.naamNL AS ModuleNameNL,m.naamFR AS ModuleNameFR, m.naamEN AS ModuleNameEN, q.vraagId AS QuestionId, q.NL AS QTextNL, q.FR AS QTextFR, q.EN AS QTextEN, q_img.Image AS QImage, a.antwId AS AnswerId, a.NL AS ATextNL, a.FR AS ATextFR, a.EN AS ATextEN, a.correct AS IsCorrect, a_img.Image AS AImage
WITH used AS (SELECT DISTINCT m.moduleId
FROM dbo.modules m
INNER JOIN(SELECT DISTINCT moduleId FROM dbo.modulesVerplicht WHERE verplicht=1) x ON x.moduleId=m.moduleId
UNION
SELECT lq.moduleID
FROM dbo.DocALinkQuiz lq
INNER JOIN dbo.DocARoles r ON r.roleID=lq.roleID)
SELECT m.moduleId AS ModuleId, m.naamNL AS ModuleNameNL, m.naamFR AS ModuleNameFR, m.naamEN AS ModuleNameEN, q.vraagId AS QuestionId, q.NL AS QTextNL, q.FR AS QTextFR, q.EN AS QTextEN, q_img.Image AS QImage, a.antwId AS AnswerId, a.NL AS ATextNL, a.FR AS ATextFR, a.EN AS ATextEN, a.correct AS IsCorrect, a_img.Image AS AImage
FROM dbo.modules m
INNER JOIN used u ON u.moduleId=m.moduleId
JOIN quiz.vragen q ON m.moduleId=q.moduleId
LEFT JOIN dbo.QuizImages q_img ON q.QuizImageId=q_img.QuizImageId
JOIN quiz.antwoorden a ON q.vraagId=a.vraagId
LEFT JOIN dbo.QuizImages a_img ON a.QuizImageId=a_img.QuizImageId
WHERE q.active=1 AND q.deleted=0
WHERE q.active=1 AND q.deleted=0
ORDER BY m.moduleId, q.vraagId, a.antwId;
";