Поворотный стол sql - PullRequest
       7

Поворотный стол sql

0 голосов
/ 04 декабря 2018

У меня есть эта таблица:

|............id.............|............a............. |.............b............|
|...........123qwe....      |...........0.............  |.............13...........|

, и мне нужно повернуть ее так:

|.........id................|........indicator....      |.............value........ |
|...........123qwe....      |...........a.............  |.............0.............|
|...........123qwe....      |...........b.............  |.............13........... |

Более 100 столбцов с индикаторами в качестве заголовков (a, b,c, d, e, f, ...) поэтому потребуется своего рода цикл.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Сделайте это следующим образом:

SELECT id, 'a' AS indicator, a AS value
FROM test
UNION
SELECT id, 'b' AS indicator, b AS value
FROM test;

, и если вы хотите цикл, вам лучше написать это в программе ...

0 голосов
/ 04 декабря 2018
 SELECT id, 'a', SUM(a)
 FROM yourtable
 GROUP BY id
 UNION 
 SELECT id, 'b', SUM(b)
 FROM yourtable
 GROUP BY id
 UNION
 ...

Как обычно, ответ right нормализует вашу схему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...