The Report

Sort by

recency

|

3456 Discussions

|

  • + 0 comments

    SELECT CASE WHEN G.GRADE>=8 THEN S.NAME ELSE NULL END AS NAME,G.GRADE,S.MARKS FROM STUDENTS S INNER JOIN GRADES G ON(S.MARKS BETWEEN G.MIN_MARK AND MAX_MARK) ORDER BY GRADE DESC,NAME,MARKS;

  • + 0 comments

    SELECT CASE WHEN GRADE < 8 THEN NULL ELSE NAME END AS NAME, GRADE, MARKS FROM STUDENTS, GRADES WHERE MARKS BETWEEN MIN_MARK AND MAX_MARK ORDER BY GRADE DESC, CASE WHEN GRADE BETWEEN 8 AND 10 THEN NAME END ASC, CASE WHEN GRADE BETWEEN 1 AND 7 THEN MARKS END ASC;

  • + 0 comments

    select iif(Grade<8,NULL,Name) Name, Grade, Marks from Students st inner join Grades gr on st.Marks between gr.Min_Mark and gr.Max_Mark order by Grade desc, Marks

    Wrong Answer!!

  • + 0 comments

    Most simple in MSQL Server: SELECT CASE WHEN GRADE <8 THEN NULL ELSE NAME END AS NAME, GRADE, MARKS FROM STUDENTS, GRADES WHERE MARKS BETWEEN MIN_MARK AND MAX_MARK ORDER BY GRADE DESC, CASE WHEN GRADE BETWEEN 8 AND 10 THEN NAME END ASC, CASE WHEN GRADE BETWEEN 1 AND 7 THEN MARKS END ASC;

  • + 0 comments

    Using inner join and union

    WITH union_data AS( SELECT name, grade, marks FROM Students INNER JOIN Grades ON marks BETWEEN min_mark AND max_mark WHERE grade >=8 UNION SELECT NULL AS name, grade, marks FROM Students INNER JOIN Grades ON marks BETWEEN min_mark AND max_mark WHERE grade < 8 ) SELECT * FROM union_data ORDER BY grade DESC, name ASC, marks ASC