У меня есть такая таблица:
create table myschema.mytable
(
zone varchar(50),
description varchar(50),
amount double precision
);
Я выполняю вставки следующим образом (не фактический запрос, просто чтобы понять данные):
insert into myschema.mytable (zone, description, amount)
values
('South', 'A1', 40),
('North', 'A1', 50),
....
('South', 'A2', 10),
('North', 'A2', 20),
('West', 'A2', 5);
Всего у меня около 500 записей в этой таблице (и 4 зоны); Как я могу выполнить запрос 'Pivot', чтобы получить что-то вроде этого?
A1 A2 A3 .... Zone
---------------------
40 10 2 South
50 20 1 North
0 5 3 West
Моя главная проблема здесь - это производительность ... Я пытался выполнить серию левых объединений для каждой категории, но с точки зрения производительности это занимает много места