Как насчет чего-то вроде:
select a.description, b.value as 'jan', c.value as 'feb', d.value as 'mar' from elements a,
(select * from ocurrences where month ='jan') b,
(select * from ocurrences where month ='feb') c,
(select * from ocurrences where month ='mar') d
where a.id = b.element_id
and a.id = c.element_id
and a.id = d.element_id
Схема (MySQL v5.7)
create table elements(id int, description varchar(50));
create table ocurrences(id int, month varchar(10), value int, element_id int);
insert into elements values (1, 'orange');
insert into elements values (2, 'apple');
insert into elements values (3, 'lemons');
insert into ocurrences values (1, 'jan', 12, 1);
insert into ocurrences values (2, 'jan', 26, 2);
insert into ocurrences values (3, 'jan', 10, 3);
insert into ocurrences values (4, 'feb', 5, 1);
insert into ocurrences values (5, 'feb', 2, 2);
insert into ocurrences values (6, 'feb', 9, 3);
insert into ocurrences values (7, 'mar', 32, 1);
insert into ocurrences values (8, 'mar', 45, 2);
insert into ocurrences values (9, 'mar', 11, 3);
Запрос # 1
select a.description, b.value as 'jan', c.value as 'feb', d.value as 'mar' from elements a,
(select * from ocurrences where month ='jan') b,
(select * from ocurrences where month ='feb') c,
(select * from ocurrences where month ='mar') d
where a.id = b.element_id
and a.id = c.element_id
and a.id = d.element_id;
| description | jan | feb | mar |
| ----------- | --- | --- | --- |
| orange | 12 | 5 | 32 |
| apple | 26 | 2 | 45 |
| lemons | 10 | 9 | 11 |
Посмотреть на БД Fiddle