sel*_*raj 2 sql sql-server sql-server-2008
我有一个名为Product的表,它显示如下数据:
---------------------------------
l TYPE l PERIOD l BALANCE l
l Auto l 2015 l 5 l
l Car l 2015 l 2 l
l Bus l 2015 l 45 l
l Auto l 2016 l 2 l
l Car l 2016 l 6 l
l Bus l 2016 l 50 l
l Auto l 2017 l 12 l
l Car l 2017 l 16 l
l Bus l 2017 l 10 l
---------------------------------
Run Code Online (Sandbox Code Playgroud)
我需要查询此表,以便结果基于类似于下面的年份:
---------------------------------------------------------
l TYPE l BALANCE 2015 l BALANCE 2016 l BALANCE 2017 l
l Auto l 5 l 2 l 12 l
l Car l 2 l 6 l 16 l
l Bus l 45 l 50 l 10 l
---------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的查询,但没有运气.
你的帮助非常有用,
提前致谢.
您可以像这样使用条件聚合:
SELECT t.type,
MAX(CASE WHEN period = 2015 then balance end) as BALANCE_2015,
MAX(CASE WHEN period = 2016 then balance end) as BALANCE_2016,
MAX(CASE WHEN period = 2017 then balance end) as BALANCE_2017
FROM Product t
GROUP BY t.type
Run Code Online (Sandbox Code Playgroud)
您可以添加更多列,具体取决于您要显示的年份.
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |