Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como mesclar um grupo de registros no oracle?


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.