我正在尝试将列数据转置为单独的列。(请注意,我不能使用 Pivot 函数或动态 SQL)。
源表具有三列(年份、城市、数据1)。
我正在尝试将“城市”列转置为单独的列,以便比较所选城市的数据。
这是我的代码:
SELECT t.year,
CASE WHEN city = 'San Francisco' THEN t.data1 END) SF,
CASE WHEN city = 'Paris' THEN t.data1 END) PAR,
CASE WHEN city = 'New York' THEN t.data1 END) NYC
FROM t
WHERE city IN ('San Francisco', 'Paris', 'New York')
GROUP BY t.year, t.data1
ORDER BY t.year
Run Code Online (Sandbox Code Playgroud)
结果如下表。
问题是“年”行重复了几次,而我希望将所有选定城市的数据显示在一个“年”行上。否则我无法绘制任何折线图。
任何帮助表示赞赏。
表输入示例:
+------+---------------+-------+
| year | city | data1 |
+------+---------------+-------+
| 2001 | San Francisco | 15.25 |
| 2001 | …Run Code Online (Sandbox Code Playgroud)