从一列创建多列

kev*_*670 2 sql sql-server sql-server-2000

我的数据库结构如下:

Number | Month | Country
------------------------
63     | June  | Ireland
48     | June  | England
55     | June  | Spain
66     | May   | Ireland
33     | May   | England
53     | May   | Spain
44     | April | Ireland
44     | April | England
44     | April | Spain
Run Code Online (Sandbox Code Playgroud)

我想使用一条SQL语句从上面的数据中调用它。谁能帮帮我。基本上,我想根据与之关联的月份将number列拆分为多个其他列。我正在使用sql-server 2000

Country | June | May | April
---------------------------
Ireland | 63   | 66  |  44
England | 48   | 33  |  44
Spain   | 55   | 53  |  44
Run Code Online (Sandbox Code Playgroud)

And*_*mar 5

这个过程称为透视。一种方法:

 select  Country
 ,       sum(case when Month = 'June' then Number end) as June
 ,       sum(case when Month = 'May' then Number end) as May
 ,       sum(case when Month = 'April' then Number end) as April
 from    YourTable
 group by
         Country
Run Code Online (Sandbox Code Playgroud)