У меня есть первая таблица, хранящаяся в базе данных, как показано, и я должен применить к ней запрос, чтобы показать ее, как вторая таблица
Вот один вариант использования conditional aggregation:
conditional aggregation
select subject, max(case when exam = 'Mid1' then marks end) as Mid1, max(case when exam = 'Mid2' then marks end) as Mid2 from yourtable group by subject