Вам нужно немного JOIN
s с условным агрегацией:
select t1.id, t1.name,
sum(case when t3.name = 'a' then t2.value else 0 end) as A,
sum(case when t3.name = 'b' then t2.value else 0 end) as B,
sum(case when t3.name = 'c' then t2.value else 0 end) as C
from table1 t1 inner join
table2 t2
on t2.table1_id = t1.id inner join
table3 t3
on t3.key_id = t2.key
where t1.id = 1
group by t1.id, t1.name;
Однако это будет делать агрегацию только с известными значениями до, если вы хотитеидти с динамическим путем, то вам может понадобиться подход к программированию в MySQL.