I have a table with this structure and I need to recreate it as below, searched it before asking here but I couldn't find an answer as I expected. Could anyone help me which query should I use to get expected tables with PostgreSQL. Used exceljs npm package, but things become complicated
Source Table
| ID | NAME | SLOT | columnA | columnB | columnC | columnD | columnE | 
|---|---|---|---|---|---|---|---|
| 1 | A | SLOT1 | 300 | 3500 | TRUE | FALSE | 50 | 
| 2 | B | SLOT1 | 200 | 2500 | TRUE | TRUE | 100 | 
| 2 | B | SLOT2 | 300 | 3500 | FALSE | TRUE | 100 | 
| 3 | C | SLOT1 | 300 | 500 | FALSE | FALSE | 150 | 
| 2 | B | SLOT3 | 150 | 3500 | TRUE | TRUE | 50 | 
| 4 | D | SLOT1 | 150 | 3500 | FALSE | FALSE | 0 | 
| 4 | D | SLOT2 | 40 | 200 | TRUE | TRUE | 200 | 
| 4 | D | SLOT3 | 150 | 10000 | FALSE | TRUE | 100 | 
| 1 | A | SLOT2 | 50 | 450 | FALSE | FALSE | 50 | 
| 3 | C | SLOT2 | 80 | 280 | TRUE | TRUE | 100 | 
Expected Results
Restruct it by columnA
| ID | NAME | SLOT1 | SLOT2 | SLOT3 | 
|---|---|---|---|---|
| 1 | A | 300 | 50 | NULL | 
| 2 | B | 200 | 300 | 150 | 
| 3 | C | 300 | 80 | NULL | 
| 4 | D | 150 | 40 | 150 | 
Restruct it by columnB
| ID | NAME | SLOT1 | SLOT2 | SLOT3 | 
|---|---|---|---|---|
| 1 | A | 3500 | 450 | NULL | 
| 2 | B | 2500 | 3500 | 3500 | 
| 3 | C | 500 | 280 | NULL | 
| 4 | D | 3500 | 200 | 10000 | 
Restruct it by columnC
| ID | NAME | SLOT1 | SLOT2 | SLOT3 | 
|---|---|---|---|---|
| 1 | A | TRUE | FALSE | NULL | 
| 2 | B | TRUE | FALSE | TRUE | 
| 3 | C | FALSE | TRUE | NULL | 
| 4 | D | FALSE | TRUE | FALSE | 
Restruct it by columnD
| ID | NAME | SLOT1 | SLOT2 | SLOT3 | 
|---|---|---|---|---|
| 1 | A | FALSE | FALSE | NULL | 
| 2 | B | TRUE | TRUE | TRUE | 
| 3 | C | FALSE | TRUE | NULL | 
| 4 | D | FALSE | TRUE | FALSE | 
Restruct it by columnE
| ID | NAME | SLOT1 | SLOT2 | SLOT3 | 
|---|---|---|---|---|
| 1 | A | 50 | 50 | NULL | 
| 2 | B | 100 | 100 | 50 | 
| 3 | C | 150 | 100 | NULL | 
| 4 | D | 0 | 200 | 100 | 
