Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment fusionner un groupe d'enregistrements dans Oracle ?

Utiliser :

  • MAX
  • REGROUPER PAR
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>

En passant, vous devez réfléchir à la conception de votre table . Vous ne pouvez avoir que 3 colonnes, name, subject, marks .

Si vous souhaitez avoir des colonnes séparées dans le même tableau, alors vous devriez les avoir sur une ligne unique pour chaque élève. Et lorsque vous avez un nouveau sujet pour l'élève, alors mettez à jour la ligne pour cet étudiant, au lieu d'ajouter une nouvelle ligne.