J'ai une table qui stocke les résultats d'examen des étudiants. Dans ce tableau j'ai une colonne nvarchar
REMARKS
; Si les marques obtenues sont inférieures aux marques passantes, le système ajoute Pass/Fail
aux Remarks
dans cette colonne particulière.
Le problème est maintenant que je montre le résultat complet avec le total des points obtenus et aussi afficher si un étudiant a réussi ou échoué, basé sur la requête comme
If remarks = 'Fail'
et échouer est plus d'un sujet dans cet examen que l'affichage Echec échec passe. J'ai cherché et essayé beaucoup mais pas de chance. quelqu'un peut-il s'il vous plaît dites-moi comment le faire?
Merci!
MISE À JOUR: Essayé jusqu'à présent:
SELECT StudentName, Year, ExamType, SUM(TotalMarks) AS TotalMarks, SUM(ObtainedMarks) AS ObtMarks FROM [dbo].[Exam] WHERE ExamType = @Type AND Year = @Year
Vous cherchez une requête quelque chose comme:
CASE WHEN [Remarks] = 'Fail' and having count > 1 THEN 'Fail' ELSE 'Pass' End as 'Status'
La requête suivante renvoie 'échouer' s'il y a plus d'un échec dans le ExamType
et l' year
pour un étudiant
SELECT StudentName ,@Year ,@Type ,Sum(TotalMarks) as TotalMarks ,Sum(ObtainedMarks) as ObtMarks ,CASE WHEN Count(CASE WHEN [Remarks] = 'Fail' THEN 1 END) > 1 THEN 'Fail' ELSE 'Pass' End as 'Status' FROM [dbo].[Exam] Where ExamType = @Type And Year = @Year Group by StudentName