簡體   English   中英

透視表SQL

[英]Pivoting table sql

我有這張桌子:

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

我需要像這樣樞紐一下:

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

超過100列帶有指示符的標頭(a,b,c,d,e,f,...),因此將需要某種循環。

 SELECT id, 'a', SUM(a)
 FROM yourtable
 GROUP BY id
 UNION 
 SELECT id, 'b', SUM(b)
 FROM yourtable
 GROUP BY id
 UNION
 ...

像往常一樣, 正確的答案是規范您的架構。

像這樣做:

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

如果要循環,最好將其編寫在程序中...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM