Usar:
- MAX
- GRUPO POR
SQL> SELECT NAME, 2 MAX(subject_1) subject_1, 3 MAX(marks_1) marks_1, 4 MAX(subject_2) subject_2, 5 MAX(marks_2) marks_2 6 FROM t 7 GROUP BY name; NAME SUBJECT_1 MARKS_1 SUBJECT_2 MARKS_2 ---- --------- ---------- --------- ---------- Jon Maths 60 Science 70 Tom Maths 90 Science 50 SQL>
Além disso, você precisa pensar em seu design de mesa . Você só pode ter 3 colunas,
name, subject, marks
. Se você deseja ter colunas separadas na mesma tabela, você deve tê-los como uma linha única para cada aluno. E quando você tiver uma nova matéria para o aluno, atualize a linha para esse aluno, em vez de adicionar uma nova linha.