【发布时间】:2022-01-17 19:40:54
【问题描述】:
我有下表:
| Team | Product | Number |
|---|---|---|
| T1 | P1 | 1 |
| T2 | P1 | 2 |
| T3 | P1 | 3 |
| T1 | P2 | 4 |
| T2 | P2 | 5 |
| T3 | P2 | 6 |
| T1 | P3 | 7 |
| T2 | P3 | 8 |
| T3 | P3 | 9 |
使用此查询:
SELECT Team AS Team, P1, P2, P3
FROM team_data AS td
PIVOT (
sum(Number)
FOR Product
IN (P1, P2, P3)
) AS td;
我可以把它变成这种格式:
| Team | P1 | P2 | P3 |
|---|---|---|---|
| T1 | 1 | 4 | 7 |
| T2 | 2 | 5 | 8 |
| T3 | 3 | 6 | 9 |
我现在的目标是让这个动态化。我希望它适用于未知数量的产品。团队的数量应该已经是可变的了。
【问题讨论】:
-
使用这个查询: 这个 SQL 代码在 MySQL 中是错误的。也许您使用 SQL Server (MS SQL)?
-
你是对的。我将 sum(Count) 编辑为 sum(Number)。它现在应该可以工作了。