@at1x001

Как сделать запрос SQL?

Есть исходная таблица:
5f9179aa04bc9668534136.png
CREATE TABLE table1 (
type varchar(255)
amount int
year int
);

INSERT INTO table1
VALUES ('kval', '500', '2018');
VALUES ('kval', '90', '2018');
VALUES ('kval', '300, '2019');
VALUES ('kval', '250, '2019');
VALUES ('kval', '600', '2020');
VALUES ('kval', '500', '2020');

Нужно написать запрос, который представит информацию из таблицы в виде:
5f9179d8b6b11220736283.png

Я пробовал через case, запросом:
select type,
case when year = '2018' then amount else '0' end as '2018',
case when year = '2019' then amount else '0' end as '2019',
case when year = '2020' then amount else '0' end as '2020'
from table1
5f917a733f4cf726697670.png

Но дальше не могу нагуглить, как как "соединить строчки" помогите пожалуйста
Либо подскажите другой способ
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
@rageorg
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
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@at1x001 Автор вопроса
Убрал else '0', получилось
5f918c7d66b91964866900.png
Спасибо за помощь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы