Если у вас есть предопределенный список значений, вы можете использовать условное агрегирование для поворота:
select
max(count) filter(where nbr_type = '0021') "0021",
max(count) filter(where nbr_type = '0022') "0022",
max(count) filter(where nbr_type = '0023') "0023"
from mytable
Это предполагает, что каждый nbr_type
отображается только в одной строке; в противном случае вы, возможно, захотите изменить max()
на более значимую функцию агрегирования, например sum()
или avg()
.