Използвайте:
- МАКС.
- ГРУПИРАНЕ ПО
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>
От друга страна, трябва да помислите за вашия дизайн на маса . Можете да имате само 3 колони, name, subject, marks
.
Ако искате да имате отделни колони в същата таблица, тогава трябва да ги имате като един ред за всеки ученик. И когато имате нов предмет за ученика, тоса актуализирайте реда за този ученик, вместо да добавяте нов ред.