select type,
max(case when year = '2018' then amount else '0' end) as '2018',
max(case when year = '2019' then amount else '0' end) as '2019',
max(case when year = '2020' then amount else '0' end) as '2020'
from table1
group by type
>Я бы хотел что бы вместо звездочки выводились буквы соответствующие названию переменной.
В коде вместо звездочки ставить букву соответствующей переменной. https://ideone.com/v0Did5