PostgreSQL 9.3: Tabela dinâmica dinâmica
Eu tenho uma tabela chamada como matriz que contém duas colunas ou sejacola
ecolb
como mostrado abaixo:
Mesa: matriz
create table matrix
(
cola varchar(10),
colb varchar(10)
);
Inserção de linhas:
insert into matrix values('A1','B1'),('A2','B2'),('A3','B3'),('A4','B4'),
('A5','B5'),('A6','B6'),('A7','B7'),('A8','B8'),
('A9','B9'),('A10','B10'),('A11','B11'),('A12','B12'),
('A13','B13'),('A14','B14'),('A15','B15'),('A16','B16'),
('A17','B17'),('A18','B18'),('A19','B19'),('A20','B20'),
('A21','B21'),('A22','B22'),('A23','B23'),('A24','B24'),
('A25','B25'),('A26','B26'),('A27','B27'),('A28','B28'),
('A29','B29'),('A30','B30');
Nota: Quero mostrar o resultado na forma de matriz e contar quais colunas pertencem umas às outras e atribuir os valores na matriz para cada coluna. Acabei de adicionar 30 registros por exemplo, mas também pode haver milhares de registros. Então, preciso preparar uma tabela dinâmica dinâmica para isso. O resultado esperado, como mostrado abaixo.
resultado esperado:
A1 A2 A3 A4 A5 A6 ................ A30
------------------------------------------------------------------
B1 | 1 0 0 0 0 0 0
|
B2 | 0 1 0 0 0 0 0
|
B3 | 0 0 1 0 0 0 0
|
B4 | 0 0 0 1 0 0 0
|
B5 | 0 0 0 0 1 0 0
|
B6 | 0 0 0 0 0 1 0
. |
. |
. |
. |
B30| 0 0 0 0 0 0 1