在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等聚合函数来处理转置后的列。