在SQL中轉置表結構通常可以通過使用PIVOT關鍵字來實現。下面是一個示例:
假設有一個原始表結構如下:
| id | name | score |
|----|------|-------|
| 1 | Alice| 80 |
| 2 | Bob | 75 |
| 3 | Carol| 90 |
可以使用以下SQL語句進行轉置:
SELECT
name,
MAX(CASE WHEN id = 1 THEN score END) AS score_1,
MAX(CASE WHEN id = 2 THEN score END) AS score_2,
MAX(CASE WHEN id = 3 THEN score END) AS score_3
FROM original_table
GROUP BY name;
執行以上SQL語句后,結果會變成如下表結構:
| name | score_1 | score_2 | score_3 |
|------|---------|---------|---------|
| Alice| 80 | NULL | NULL |
| Bob | NULL | 75 | NULL |
| Carol| NULL | NULL | 90 |
這樣就實現了表結構的轉置。需要注意的是,在使用PIVOT進行轉置時,需要提前知道需要轉置的列的數量,以及使用MAX等聚合函數來處理轉置后的列。