Pay attention to the unitlocal datatype!
SQL> SELECT certype,
2 certlv,
3 sum(case unitlocal when '丰台区' then 1 else 0 end) 丰台区,
4 sum(case unitlocal when '海淀区' then 1 else 0 end) 海淀区,
5 sum(case unitlocal when '西城区' then 1 else 0 end) 西城区
6 FROM tb2
7 group by certype,certlv
8 order by 1,2
9 /
CERTYPE CERTLV 丰台区 海淀区 西城区
---------- ---------- ---------- ---------- ----------
钢材 1级 0 1 0
钢材 2级 0 1 0
木制品 1级 1 0 0
药材 1级 2 0 0
药材 2级 1 0 0
SQL>
SQL> SELECT certype,
2 certlv,
3 sum(decode(trim(unitlocal), '丰台区', 1, 0)) 丰台区,
4 sum(decode(trim(unitlocal), '海淀区', 1, 0)) 海淀区,
5 sum(decode(trim(unitlocal), '西城区', 1, 0)) 西城区
6 FROM tb2
7 group by certype, certlv
8 order by 1,2;
CERTYPE CERTLV 丰台区 海淀区 西城区
---------- ---------- ---------- ---------- ----------
钢材 1级 0 1 0
钢材 2级 0 1 0
木制品 1级 1 0 0
药材 1级 2 0 0
药材 2级 1 0 0
SQL>