We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
- Prepare
- SQL
- Basic Join
- The Report
- Discussions
The Report
The Report
Sort by
recency
|
3597 Discussions
|
Please Login in order to post a comment
(SELECT Name, Grade, Marks FROM STUDENTS LEFT JOIN GRADES ON STUDENTS.MARKS BETWEEN Min_Mark AND Max_Mark WHERE Grade >= 8 )
UNION ALL
(SELECT NULL AS Name, Grade, Marks FROM STUDENTS LEFT JOIN GRADES ON STUDENTS.MARKS BETWEEN Min_Mark AND Max_Mark WHERE Grade < 8 ) ORDER BY grade DESC, name ASC,marks ASC;
Please have the correct code I have tried:
SELECT CASE WHEN g.grade >= 8 THEN s.name ELSE NULL END AS name, g.grade, s.marks FROM students s JOIN grades g ON s.marks BETWEEN g.min_mark AND g.max_mark ORDER BY g.grade DESC, CASE WHEN g.grade >= 8 THEN s.name WHEN g.grade < 8 THEN CAST(s.marks AS VARCHAR) END;